Merge branch 'master' of github.com:rg3/youtube-dl
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .abc import ABCIE
2 from .academicearth import AcademicEarthCourseIE
3 from .addanime import AddAnimeIE
4 from .adultswim import AdultSwimIE
5 from .aftonbladet import AftonbladetIE
6 from .anitube import AnitubeIE
7 from .anysex import AnySexIE
8 from .aol import AolIE
9 from .allocine import AllocineIE
10 from .aparat import AparatIE
11 from .appletrailers import AppleTrailersIE
12 from .archiveorg import ArchiveOrgIE
13 from .ard import ARDIE, ARDMediathekIE
14 from .arte import (
15     ArteTvIE,
16     ArteTVPlus7IE,
17     ArteTVCreativeIE,
18     ArteTVConcertIE,
19     ArteTVFutureIE,
20     ArteTVDDCIE,
21     ArteTVEmbedIE,
22 )
23 from .auengine import AUEngineIE
24 from .bambuser import BambuserIE, BambuserChannelIE
25 from .bandcamp import BandcampIE, BandcampAlbumIE
26 from .bbccouk import BBCCoUkIE
27 from .bilibili import BiliBiliIE
28 from .blinkx import BlinkxIE
29 from .bliptv import BlipTVIE, BlipTVUserIE
30 from .bloomberg import BloombergIE
31 from .br import BRIE
32 from .breakcom import BreakIE
33 from .brightcove import BrightcoveIE
34 from .byutv import BYUtvIE
35 from .c56 import C56IE
36 from .canal13cl import Canal13clIE
37 from .canalplus import CanalplusIE
38 from .canalc2 import Canalc2IE
39 from .cbs import CBSIE
40 from .cbsnews import CBSNewsIE
41 from .ceskatelevize import CeskaTelevizeIE
42 from .channel9 import Channel9IE
43 from .chilloutzone import ChilloutzoneIE
44 from .cinemassacre import CinemassacreIE
45 from .clipfish import ClipfishIE
46 from .cliphunter import CliphunterIE
47 from .clipsyndicate import ClipsyndicateIE
48 from .clubic import ClubicIE
49 from .cmt import CMTIE
50 from .cnet import CNETIE
51 from .cnn import (
52     CNNIE,
53     CNNBlogsIE,
54 )
55 from .collegehumor import CollegeHumorIE
56 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
57 from .condenast import CondeNastIE
58 from .cracked import CrackedIE
59 from .criterion import CriterionIE
60 from .crunchyroll import CrunchyrollIE
61 from .cspan import CSpanIE
62 from .d8 import D8IE
63 from .dailymotion import (
64     DailymotionIE,
65     DailymotionPlaylistIE,
66     DailymotionUserIE,
67 )
68 from .daum import DaumIE
69 from .dfb import DFBIE
70 from .dotsub import DotsubIE
71 from .dreisat import DreiSatIE
72 from .drtv import DRTVIE
73 from .dump import DumpIE
74 from .defense import DefenseGouvFrIE
75 from .discovery import DiscoveryIE
76 from .divxstage import DivxStageIE
77 from .dropbox import DropboxIE
78 from .ebaumsworld import EbaumsWorldIE
79 from .ehow import EHowIE
80 from .eighttracks import EightTracksIE
81 from .eitb import EitbIE
82 from .ellentv import (
83     EllenTVIE,
84     EllenTVClipsIE,
85 )
86 from .elpais import ElPaisIE
87 from .empflix import EmpflixIE
88 from .engadget import EngadgetIE
89 from .escapist import EscapistIE
90 from .everyonesmixtape import EveryonesMixtapeIE
91 from .exfm import ExfmIE
92 from .expotv import ExpoTVIE
93 from .extremetube import ExtremeTubeIE
94 from .facebook import FacebookIE
95 from .faz import FazIE
96 from .fc2 import FC2IE
97 from .firedrive import FiredriveIE
98 from .firstpost import FirstpostIE
99 from .firsttv import FirstTVIE
100 from .fivemin import FiveMinIE
101 from .fktv import (
102     FKTVIE,
103     FKTVPosteckeIE,
104 )
105 from .flickr import FlickrIE
106 from .fourtube import FourTubeIE
107 from .franceculture import FranceCultureIE
108 from .franceinter import FranceInterIE
109 from .francetv import (
110     PluzzIE,
111     FranceTvInfoIE,
112     FranceTVIE,
113     GenerationQuoiIE,
114     CultureboxIE,
115 )
116 from .freesound import FreesoundIE
117 from .freespeech import FreespeechIE
118 from .funnyordie import FunnyOrDieIE
119 from .gamekings import GamekingsIE
120 from .gameone import (
121     GameOneIE,
122     GameOnePlaylistIE,
123 )
124 from .gamespot import GameSpotIE
125 from .gamestar import GameStarIE
126 from .gametrailers import GametrailersIE
127 from .gdcvault import GDCVaultIE
128 from .generic import GenericIE
129 from .godtube import GodTubeIE
130 from .googleplus import GooglePlusIE
131 from .googlesearch import GoogleSearchIE
132 from .gorillavid import GorillaVidIE
133 from .goshgay import GoshgayIE
134 from .grooveshark import GroovesharkIE
135 from .hark import HarkIE
136 from .helsinki import HelsinkiIE
137 from .hentaistigma import HentaiStigmaIE
138 from .hornbunny import HornBunnyIE
139 from .hotnewhiphop import HotNewHipHopIE
140 from .howcast import HowcastIE
141 from .howstuffworks import HowStuffWorksIE
142 from .huffpost import HuffPostIE
143 from .hypem import HypemIE
144 from .iconosquare import IconosquareIE
145 from .ign import IGNIE, OneUPIE
146 from .imdb import (
147     ImdbIE,
148     ImdbListIE
149 )
150 from .ina import InaIE
151 from .infoq import InfoQIE
152 from .instagram import InstagramIE, InstagramUserIE
153 from .internetvideoarchive import InternetVideoArchiveIE
154 from .iprima import IPrimaIE
155 from .ivi import (
156     IviIE,
157     IviCompilationIE
158 )
159 from .izlesene import IzleseneIE
160 from .jadorecettepub import JadoreCettePubIE
161 from .jeuxvideo import JeuxVideoIE
162 from .jove import JoveIE
163 from .jukebox import JukeboxIE
164 from .justintv import JustinTVIE
165 from .jpopsukitv import JpopsukiIE
166 from .kankan import KankanIE
167 from .keezmovies import KeezMoviesIE
168 from .khanacademy import KhanAcademyIE
169 from .kickstarter import KickStarterIE
170 from .keek import KeekIE
171 from .kontrtube import KontrTubeIE
172 from .krasview import KrasViewIE
173 from .ku6 import Ku6IE
174 from .la7 import LA7IE
175 from .lifenews import LifeNewsIE
176 from .liveleak import LiveLeakIE
177 from .livestream import (
178     LivestreamIE,
179     LivestreamOriginalIE,
180     LivestreamShortenerIE,
181 )
182 from .lynda import (
183     LyndaIE,
184     LyndaCourseIE
185 )
186 from .m6 import M6IE
187 from .macgamestore import MacGameStoreIE
188 from .mailru import MailRuIE
189 from .malemotion import MalemotionIE
190 from .mdr import MDRIE
191 from .metacafe import MetacafeIE
192 from .metacritic import MetacriticIE
193 from .ministrygrid import MinistryGridIE
194 from .mit import TechTVMITIE, MITIE, OCWMITIE
195 from .mitele import MiTeleIE
196 from .mixcloud import MixcloudIE
197 from .mlb import MLBIE
198 from .mpora import MporaIE
199 from .mofosex import MofosexIE
200 from .mojvideo import MojvideoIE
201 from .mooshare import MooshareIE
202 from .morningstar import MorningstarIE
203 from .motherless import MotherlessIE
204 from .motorsport import MotorsportIE
205 from .movieclips import MovieClipsIE
206 from .moviezine import MoviezineIE
207 from .movshare import MovShareIE
208 from .mtv import (
209     MTVIE,
210     MTVServicesEmbeddedIE,
211     MTVIggyIE,
212 )
213 from .musicplayon import MusicPlayOnIE
214 from .musicvault import MusicVaultIE
215 from .muzu import MuzuTVIE
216 from .myspace import MySpaceIE
217 from .myspass import MySpassIE
218 from .myvideo import MyVideoIE
219 from .naver import NaverIE
220 from .nba import NBAIE
221 from .nbc import (
222     NBCIE,
223     NBCNewsIE,
224 )
225 from .ndr import NDRIE
226 from .ndtv import NDTVIE
227 from .newgrounds import NewgroundsIE
228 from .newstube import NewstubeIE
229 from .nfb import NFBIE
230 from .nhl import NHLIE, NHLVideocenterIE
231 from .niconico import NiconicoIE
232 from .ninegag import NineGagIE
233 from .noco import NocoIE
234 from .normalboots import NormalbootsIE
235 from .novamov import NovaMovIE
236 from .nowness import NownessIE
237 from .nowvideo import NowVideoIE
238 from .npo import NPOIE
239 from .nrk import (
240     NRKIE,
241     NRKTVIE,
242 )
243 from .ntv import NTVIE
244 from .nytimes import NYTimesIE
245 from .nuvid import NuvidIE
246 from .ooyala import OoyalaIE
247 from .orf import (
248     ORFTVthekIE,
249     ORFOE1IE,
250     ORFFM4IE,
251 )
252 from .parliamentliveuk import ParliamentLiveUKIE
253 from .patreon import PatreonIE
254 from .pbs import PBSIE
255 from .photobucket import PhotobucketIE
256 from .playfm import PlayFMIE
257 from .playvid import PlayvidIE
258 from .podomatic import PodomaticIE
259 from .pornhd import PornHdIE
260 from .pornhub import PornHubIE
261 from .pornotube import PornotubeIE
262 from .promptfile import PromptFileIE
263 from .prosiebensat1 import ProSiebenSat1IE
264 from .pyvideo import PyvideoIE
265 from .radiofrance import RadioFranceIE
266 from .rai import RaiIE
267 from .rbmaradio import RBMARadioIE
268 from .redtube import RedTubeIE
269 from .reverbnation import ReverbNationIE
270 from .ringtv import RingTVIE
271 from .ro220 import Ro220IE
272 from .rottentomatoes import RottenTomatoesIE
273 from .roxwel import RoxwelIE
274 from .rtbf import RTBFIE
275 from .rtlnl import RtlXlIE
276 from .rtlnow import RTLnowIE
277 from .rts import RTSIE
278 from .rtve import RTVEALaCartaIE, RTVELiveIE
279 from .ruhd import RUHDIE
280 from .rutube import (
281     RutubeIE,
282     RutubeChannelIE,
283     RutubeMovieIE,
284     RutubePersonIE,
285 )
286 from .rutv import RUTVIE
287 from .sapo import SapoIE
288 from .savefrom import SaveFromIE
289 from .sbs import SBSIE
290 from .scivee import SciVeeIE
291 from .screencast import ScreencastIE
292 from .servingsys import ServingSysIE
293 from .shared import SharedIE
294 from .sina import SinaIE
295 from .slideshare import SlideshareIE
296 from .slutload import SlutloadIE
297 from .smotri import (
298     SmotriIE,
299     SmotriCommunityIE,
300     SmotriUserIE,
301     SmotriBroadcastIE,
302 )
303 from .snotr import SnotrIE
304 from .sockshare import SockshareIE
305 from .sohu import SohuIE
306 from .soundcloud import (
307     SoundcloudIE,
308     SoundcloudSetIE,
309     SoundcloudUserIE,
310     SoundcloudPlaylistIE
311 )
312 from .soundgasm import SoundgasmIE
313 from .southpark import (
314     SouthParkIE,
315     SouthparkDeIE,
316 )
317 from .space import SpaceIE
318 from .spankwire import SpankwireIE
319 from .spiegel import SpiegelIE
320 from .spiegeltv import SpiegeltvIE
321 from .spike import SpikeIE
322 from .sportdeutschland import SportDeutschlandIE
323 from .stanfordoc import StanfordOpenClassroomIE
324 from .steam import SteamIE
325 from .streamcloud import StreamcloudIE
326 from .streamcz import StreamCZIE
327 from .sunporno import SunPornoIE
328 from .swrmediathek import SWRMediathekIE
329 from .syfy import SyfyIE
330 from .sztvhu import SztvHuIE
331 from .tagesschau import TagesschauIE
332 from .teachertube import (
333     TeacherTubeIE,
334     TeacherTubeUserIE,
335 )
336 from .teachingchannel import TeachingChannelIE
337 from .teamcoco import TeamcocoIE
338 from .techtalks import TechTalksIE
339 from .ted import TEDIE
340 from .tenplay import TenPlayIE
341 from .testurl import TestURLIE
342 from .tf1 import TF1IE
343 from .theplatform import ThePlatformIE
344 from .thisav import ThisAVIE
345 from .tinypic import TinyPicIE
346 from .tlc import TlcIE, TlcDeIE
347 from .toutv import TouTvIE
348 from .toypics import ToypicsUserIE, ToypicsIE
349 from .traileraddict import TrailerAddictIE
350 from .trilulilu import TriluliluIE
351 from .trutube import TruTubeIE
352 from .tube8 import Tube8IE
353 from .tudou import TudouIE
354 from .tumblr import TumblrIE
355 from .tutv import TutvIE
356 from .tvigle import TvigleIE
357 from .tvp import TvpIE
358 from .tvplay import TVPlayIE
359 from .ubu import UbuIE
360 from .udemy import (
361     UdemyIE,
362     UdemyCourseIE
363 )
364 from .unistra import UnistraIE
365 from .urort import UrortIE
366 from .ustream import UstreamIE, UstreamChannelIE
367 from .vbox7 import Vbox7IE
368 from .veehd import VeeHDIE
369 from .veoh import VeohIE
370 from .vesti import VestiIE
371 from .vevo import VevoIE
372 from .vh1 import VH1IE
373 from .viddler import ViddlerIE
374 from .videobam import VideoBamIE
375 from .videodetective import VideoDetectiveIE
376 from .videolecturesnet import VideoLecturesNetIE
377 from .videofyme import VideofyMeIE
378 from .videopremium import VideoPremiumIE
379 from .videott import VideoTtIE
380 from .videoweed import VideoWeedIE
381 from .vidme import VidmeIE
382 from .vimeo import (
383     VimeoIE,
384     VimeoChannelIE,
385     VimeoUserIE,
386     VimeoAlbumIE,
387     VimeoGroupsIE,
388     VimeoReviewIE,
389     VimeoWatchLaterIE,
390 )
391 from .vimple import VimpleIE
392 from .vine import (
393     VineIE,
394     VineUserIE,
395 )
396 from .viki import VikiIE
397 from .vk import VKIE
398 from .vodlocker import VodlockerIE
399 from .vporn import VpornIE
400 from .vube import VubeIE
401 from .vuclip import VuClipIE
402 from .vulture import VultureIE
403 from .washingtonpost import WashingtonPostIE
404 from .wat import WatIE
405 from .wayofthemaster import WayOfTheMasterIE
406 from .wdr import (
407     WDRIE,
408     WDRMobileIE,
409     WDRMausIE,
410 )
411 from .weibo import WeiboIE
412 from .wimp import WimpIE
413 from .wistia import WistiaIE
414 from .worldstarhiphop import WorldStarHipHopIE
415 from .wrzuta import WrzutaIE
416 from .xbef import XBefIE
417 from .xboxclips import XboxClipsIE
418 from .xhamster import XHamsterIE
419 from .xnxx import XNXXIE
420 from .xvideos import XVideosIE
421 from .xtube import XTubeUserIE, XTubeIE
422 from .yahoo import (
423     YahooIE,
424     YahooNewsIE,
425     YahooSearchIE,
426 )
427 from .youjizz import YouJizzIE
428 from .youku import YoukuIE
429 from .youporn import YouPornIE
430 from .youtube import (
431     YoutubeIE,
432     YoutubeChannelIE,
433     YoutubeFavouritesIE,
434     YoutubeHistoryIE,
435     YoutubePlaylistIE,
436     YoutubeRecommendedIE,
437     YoutubeSearchDateIE,
438     YoutubeSearchIE,
439     YoutubeSearchURLIE,
440     YoutubeShowIE,
441     YoutubeSubscriptionsIE,
442     YoutubeTopListIE,
443     YoutubeTruncatedURLIE,
444     YoutubeUserIE,
445     YoutubeWatchLaterIE,
446 )
447
448 from .zdf import ZDFIE
449
450
451 _ALL_CLASSES = [
452     klass
453     for name, klass in globals().items()
454     if name.endswith('IE') and name != 'GenericIE'
455 ]
456 _ALL_CLASSES.append(GenericIE)
457
458
459 def gen_extractors():
460     """ Return a list of an instance of every supported extractor.
461     The order does matter; the first extractor matched is the one handling the URL.
462     """
463     return [klass() for klass in _ALL_CLASSES]
464
465
466 def get_info_extractor(ie_name):
467     """Returns the info extractor class with the given ie_name"""
468     return globals()[ie_name+'IE']