Merge branch 'paged-lists'
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .academicearth import AcademicEarthCourseIE
2 from .addanime import AddAnimeIE
3 from .anitube import AnitubeIE
4 from .aparat import AparatIE
5 from .appletrailers import AppleTrailersIE
6 from .archiveorg import ArchiveOrgIE
7 from .ard import ARDIE
8 from .arte import (
9     ArteTvIE,
10     ArteTVPlus7IE,
11     ArteTVCreativeIE,
12     ArteTVFutureIE,
13     ArteTVDDCIE,
14 )
15 from .auengine import AUEngineIE
16 from .bambuser import BambuserIE, BambuserChannelIE
17 from .bandcamp import BandcampIE, BandcampAlbumIE
18 from .blinkx import BlinkxIE
19 from .bliptv import BlipTVIE, BlipTVUserIE
20 from .bloomberg import BloombergIE
21 from .breakcom import BreakIE
22 from .brightcove import BrightcoveIE
23 from .c56 import C56IE
24 from .canalplus import CanalplusIE
25 from .canalc2 import Canalc2IE
26 from .cbs import CBSIE
27 from .channel9 import Channel9IE
28 from .cinemassacre import CinemassacreIE
29 from .clipfish import ClipfishIE
30 from .clipsyndicate import ClipsyndicateIE
31 from .cmt import CMTIE
32 from .cnn import CNNIE
33 from .collegehumor import CollegeHumorIE
34 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
35 from .condenast import CondeNastIE
36 from .criterion import CriterionIE
37 from .crunchyroll import CrunchyrollIE
38 from .cspan import CSpanIE
39 from .d8 import D8IE
40 from .dailymotion import (
41     DailymotionIE,
42     DailymotionPlaylistIE,
43     DailymotionUserIE,
44 )
45 from .daum import DaumIE
46 from .depositfiles import DepositFilesIE
47 from .dotsub import DotsubIE
48 from .dreisat import DreiSatIE
49 from .defense import DefenseGouvFrIE
50 from .dropbox import DropboxIE
51 from .ebaumsworld import EbaumsWorldIE
52 from .ehow import EHowIE
53 from .eighttracks import EightTracksIE
54 from .eitb import EitbIE
55 from .escapist import EscapistIE
56 from .everyonesmixtape import EveryonesMixtapeIE
57 from .exfm import ExfmIE
58 from .extremetube import ExtremeTubeIE
59 from .facebook import FacebookIE
60 from .faz import FazIE
61 from .fktv import (
62     FKTVIE,
63     FKTVPosteckeIE,
64 )
65 from .flickr import FlickrIE
66 from .franceinter import FranceInterIE
67 from .francetv import (
68     PluzzIE,
69     FranceTvInfoIE,
70     FranceTVIE,
71     GenerationQuoiIE,
72     CultureboxIE,
73 )
74 from .freesound import FreesoundIE
75 from .funnyordie import FunnyOrDieIE
76 from .gamekings import GamekingsIE
77 from .gamespot import GameSpotIE
78 from .gametrailers import GametrailersIE
79 from .generic import GenericIE
80 from .googleplus import GooglePlusIE
81 from .googlesearch import GoogleSearchIE
82 from .hark import HarkIE
83 from .hotnewhiphop import HotNewHipHopIE
84 from .howcast import HowcastIE
85 from .hypem import HypemIE
86 from .ign import IGNIE, OneUPIE
87 from .imdb import (
88     ImdbIE,
89     ImdbListIE
90 )
91 from .ina import InaIE
92 from .infoq import InfoQIE
93 from .instagram import InstagramIE
94 from .internetvideoarchive import InternetVideoArchiveIE
95 from .ivi import (
96     IviIE,
97     IviCompilationIE
98 )
99 from .jeuxvideo import JeuxVideoIE
100 from .jukebox import JukeboxIE
101 from .justintv import JustinTVIE
102 from .jpopsukitv import JpopsukiIE
103 from .kankan import KankanIE
104 from .keezmovies import KeezMoviesIE
105 from .khanacademy import KhanAcademyIE
106 from .kickstarter import KickStarterIE
107 from .keek import KeekIE
108 from .liveleak import LiveLeakIE
109 from .livestream import LivestreamIE, LivestreamOriginalIE
110 from .lynda import (
111     LyndaIE,
112     LyndaCourseIE
113 )
114 from .macgamestore import MacGameStoreIE
115 from .mdr import MDRIE
116 from .metacafe import MetacafeIE
117 from .metacritic import MetacriticIE
118 from .mit import TechTVMITIE, MITIE
119 from .mixcloud import MixcloudIE
120 from .mpora import MporaIE
121 from .mofosex import MofosexIE
122 from .mtv import (
123     MTVIE,
124     MTVIggyIE,
125 )
126 from .muzu import MuzuTVIE
127 from .myspace import MySpaceIE
128 from .myspass import MySpassIE
129 from .myvideo import MyVideoIE
130 from .naver import NaverIE
131 from .nba import NBAIE
132 from .nbc import NBCNewsIE
133 from .ndtv import NDTVIE
134 from .newgrounds import NewgroundsIE
135 from .nhl import NHLIE, NHLVideocenterIE
136 from .niconico import NiconicoIE
137 from .ninegag import NineGagIE
138 from .novamov import NovamovIE
139 from .nowvideo import NowVideoIE
140 from .ooyala import OoyalaIE
141 from .orf import ORFIE
142 from .pbs import PBSIE
143 from .photobucket import PhotobucketIE
144 from .podomatic import PodomaticIE
145 from .pornhd import PornHdIE
146 from .pornhub import PornHubIE
147 from .pornotube import PornotubeIE
148 from .pyvideo import PyvideoIE
149 from .radiofrance import RadioFranceIE
150 from .rbmaradio import RBMARadioIE
151 from .redtube import RedTubeIE
152 from .ringtv import RingTVIE
153 from .ro220 import Ro220IE
154 from .rottentomatoes import RottenTomatoesIE
155 from .roxwel import RoxwelIE
156 from .rtlnow import RTLnowIE
157 from .rutube import RutubeIE
158 from .servingsys import ServingSysIE
159 from .sina import SinaIE
160 from .slashdot import SlashdotIE
161 from .slideshare import SlideshareIE
162 from .smotri import (
163     SmotriIE,
164     SmotriCommunityIE,
165     SmotriUserIE,
166     SmotriBroadcastIE,
167 )
168 from .sohu import SohuIE
169 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
170 from .southparkstudios import (
171     SouthParkStudiosIE,
172     SouthparkDeIE,
173 )
174 from .space import SpaceIE
175 from .spankwire import SpankwireIE
176 from .spiegel import SpiegelIE
177 from .spike import SpikeIE
178 from .stanfordoc import StanfordOpenClassroomIE
179 from .statigram import StatigramIE
180 from .steam import SteamIE
181 from .streamcloud import StreamcloudIE
182 from .sztvhu import SztvHuIE
183 from .teamcoco import TeamcocoIE
184 from .techtalks import TechTalksIE
185 from .ted import TEDIE
186 from .tf1 import TF1IE
187 from .theplatform import ThePlatformIE
188 from .thisav import ThisAVIE
189 from .toutv import TouTvIE
190 from .traileraddict import TrailerAddictIE
191 from .trilulilu import TriluliluIE
192 from .tube8 import Tube8IE
193 from .tudou import TudouIE
194 from .tumblr import TumblrIE
195 from .tutv import TutvIE
196 from .tvp import TvpIE
197 from .unistra import UnistraIE
198 from .ustream import UstreamIE, UstreamChannelIE
199 from .vbox7 import Vbox7IE
200 from .veehd import VeeHDIE
201 from .veoh import VeohIE
202 from .vevo import VevoIE
203 from .vice import ViceIE
204 from .viddler import ViddlerIE
205 from .videodetective import VideoDetectiveIE
206 from .videofyme import VideofyMeIE
207 from .videopremium import VideoPremiumIE
208 from .vimeo import (
209     VimeoIE,
210     VimeoChannelIE,
211     VimeoUserIE,
212     VimeoAlbumIE,
213     VimeoGroupsIE,
214     VimeoReviewIE,
215 )
216 from .vine import VineIE
217 from .viki import VikiIE
218 from .vk import VKIE
219 from .wat import WatIE
220 from .websurg import WeBSurgIE
221 from .weibo import WeiboIE
222 from .wimp import WimpIE
223 from .wistia import WistiaIE
224 from .worldstarhiphop import WorldStarHipHopIE
225 from .xhamster import XHamsterIE
226 from .xnxx import XNXXIE
227 from .xvideos import XVideosIE
228 from .xtube import XTubeIE
229 from .yahoo import (
230     YahooIE,
231     YahooNewsIE,
232     YahooSearchIE,
233 )
234 from .youjizz import YouJizzIE
235 from .youku import YoukuIE
236 from .youporn import YouPornIE
237 from .youtube import (
238     YoutubeIE,
239     YoutubePlaylistIE,
240     YoutubeSearchIE,
241     YoutubeSearchDateIE,
242     YoutubeUserIE,
243     YoutubeChannelIE,
244     YoutubeShowIE,
245     YoutubeSubscriptionsIE,
246     YoutubeRecommendedIE,
247     YoutubeTruncatedURLIE,
248     YoutubeWatchLaterIE,
249     YoutubeFavouritesIE,
250     YoutubeHistoryIE,
251     YoutubeTopListIE,
252 )
253 from .zdf import ZDFIE
254
255
256 _ALL_CLASSES = [
257     klass
258     for name, klass in globals().items()
259     if name.endswith('IE') and name != 'GenericIE'
260 ]
261 _ALL_CLASSES.append(GenericIE)
262
263
264 def gen_extractors():
265     """ Return a list of an instance of every supported extractor.
266     The order does matter; the first extractor matched is the one handling the URL.
267     """
268     return [klass() for klass in _ALL_CLASSES]
269
270
271 def get_info_extractor(ie_name):
272     """Returns the info extractor class with the given ie_name"""
273     return globals()[ie_name+'IE']