Merge remote-tracking branch 'ckrooss/master'
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from __future__ import unicode_literals
2
3 from .abc import ABCIE
4 from .academicearth import AcademicEarthCourseIE
5 from .addanime import AddAnimeIE
6 from .adobetv import AdobeTVIE
7 from .adultswim import AdultSwimIE
8 from .aftonbladet import AftonbladetIE
9 from .aljazeera import AlJazeeraIE
10 from .alphaporno import AlphaPornoIE
11 from .anitube import AnitubeIE
12 from .anysex import AnySexIE
13 from .aol import AolIE
14 from .allocine import AllocineIE
15 from .aparat import AparatIE
16 from .appletrailers import AppleTrailersIE
17 from .archiveorg import ArchiveOrgIE
18 from .ard import ARDIE, ARDMediathekIE
19 from .arte import (
20     ArteTvIE,
21     ArteTVPlus7IE,
22     ArteTVCreativeIE,
23     ArteTVConcertIE,
24     ArteTVFutureIE,
25     ArteTVDDCIE,
26     ArteTVEmbedIE,
27 )
28 from .atresplayer import AtresPlayerIE
29 from .audiomack import AudiomackIE
30 from .auengine import AUEngineIE
31 from .azubu import AzubuIE
32 from .bambuser import BambuserIE, BambuserChannelIE
33 from .bandcamp import BandcampIE, BandcampAlbumIE
34 from .bbccouk import BBCCoUkIE
35 from .beeg import BeegIE
36 from .behindkink import BehindKinkIE
37 from .bet import BetIE
38 from .bild import BildIE
39 from .bilibili import BiliBiliIE
40 from .blinkx import BlinkxIE
41 from .bliptv import BlipTVIE, BlipTVUserIE
42 from .bloomberg import BloombergIE
43 from .bpb import BpbIE
44 from .br import BRIE
45 from .breakcom import BreakIE
46 from .brightcove import BrightcoveIE
47 from .buzzfeed import BuzzFeedIE
48 from .byutv import BYUtvIE
49 from .c56 import C56IE
50 from .canal13cl import Canal13clIE
51 from .canalplus import CanalplusIE
52 from .canalc2 import Canalc2IE
53 from .cbs import CBSIE
54 from .cbsnews import CBSNewsIE
55 from .ceskatelevize import CeskaTelevizeIE
56 from .channel9 import Channel9IE
57 from .chilloutzone import ChilloutzoneIE
58 from .cinchcast import CinchcastIE
59 from .clipfish import ClipfishIE
60 from .cliphunter import CliphunterIE
61 from .clipsyndicate import ClipsyndicateIE
62 from .cloudy import CloudyIE
63 from .clubic import ClubicIE
64 from .cmt import CMTIE
65 from .cnet import CNETIE
66 from .cnn import (
67     CNNIE,
68     CNNBlogsIE,
69     CNNArticleIE,
70 )
71 from .collegehumor import CollegeHumorIE
72 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
73 from .comcarcoff import ComCarCoffIE
74 from .commonmistakes import CommonMistakesIE
75 from .condenast import CondeNastIE
76 from .cracked import CrackedIE
77 from .criterion import CriterionIE
78 from .crunchyroll import (
79     CrunchyrollIE,
80     CrunchyrollShowPlaylistIE
81 )
82 from .cspan import CSpanIE
83 from .dailymotion import (
84     DailymotionIE,
85     DailymotionPlaylistIE,
86     DailymotionUserIE,
87 )
88 from .daum import DaumIE
89 from .dbtv import DBTVIE
90 from .deezer import DeezerPlaylistIE
91 from .dfb import DFBIE
92 from .dotsub import DotsubIE
93 from .dreisat import DreiSatIE
94 from .drtuber import DrTuberIE
95 from .drtv import DRTVIE
96 from .dvtv import DVTVIE
97 from .dump import DumpIE
98 from .defense import DefenseGouvFrIE
99 from .discovery import DiscoveryIE
100 from .divxstage import DivxStageIE
101 from .dropbox import DropboxIE
102 from .ebaumsworld import EbaumsWorldIE
103 from .echomsk import EchoMskIE
104 from .ehow import EHowIE
105 from .eighttracks import EightTracksIE
106 from .einthusan import EinthusanIE
107 from .eitb import EitbIE
108 from .ellentv import (
109     EllenTVIE,
110     EllenTVClipsIE,
111 )
112 from .elpais import ElPaisIE
113 from .empflix import EMPFlixIE
114 from .engadget import EngadgetIE
115 from .eporner import EpornerIE
116 from .eroprofile import EroProfileIE
117 from .escapist import EscapistIE
118 from .everyonesmixtape import EveryonesMixtapeIE
119 from .exfm import ExfmIE
120 from .expotv import ExpoTVIE
121 from .extremetube import ExtremeTubeIE
122 from .facebook import FacebookIE
123 from .faz import FazIE
124 from .fc2 import FC2IE
125 from .firedrive import FiredriveIE
126 from .firstpost import FirstpostIE
127 from .firsttv import FirstTVIE
128 from .fivemin import FiveMinIE
129 from .fktv import (
130     FKTVIE,
131     FKTVPosteckeIE,
132 )
133 from .flickr import FlickrIE
134 from .folketinget import FolketingetIE
135 from .fourtube import FourTubeIE
136 from .foxgay import FoxgayIE
137 from .foxnews import FoxNewsIE
138 from .franceculture import FranceCultureIE
139 from .franceinter import FranceInterIE
140 from .francetv import (
141     PluzzIE,
142     FranceTvInfoIE,
143     FranceTVIE,
144     GenerationQuoiIE,
145     CultureboxIE,
146 )
147 from .freesound import FreesoundIE
148 from .freespeech import FreespeechIE
149 from .freevideo import FreeVideoIE
150 from .funnyordie import FunnyOrDieIE
151 from .gamekings import GamekingsIE
152 from .gameone import (
153     GameOneIE,
154     GameOnePlaylistIE,
155 )
156 from .gamespot import GameSpotIE
157 from .gamestar import GameStarIE
158 from .gametrailers import GametrailersIE
159 from .gdcvault import GDCVaultIE
160 from .generic import GenericIE
161 from .giantbomb import GiantBombIE
162 from .glide import GlideIE
163 from .globo import GloboIE
164 from .godtube import GodTubeIE
165 from .goldenmoustache import GoldenMoustacheIE
166 from .golem import GolemIE
167 from .googleplus import GooglePlusIE
168 from .googlesearch import GoogleSearchIE
169 from .gorillavid import GorillaVidIE
170 from .goshgay import GoshgayIE
171 from .grooveshark import GroovesharkIE
172 from .groupon import GrouponIE
173 from .hark import HarkIE
174 from .heise import HeiseIE
175 from .hellporno import HellPornoIE
176 from .helsinki import HelsinkiIE
177 from .hentaistigma import HentaiStigmaIE
178 from .hitbox import HitboxIE, HitboxLiveIE
179 from .hornbunny import HornBunnyIE
180 from .hostingbulk import HostingBulkIE
181 from .hotnewhiphop import HotNewHipHopIE
182 from .howcast import HowcastIE
183 from .howstuffworks import HowStuffWorksIE
184 from .huffpost import HuffPostIE
185 from .hypem import HypemIE
186 from .iconosquare import IconosquareIE
187 from .ign import IGNIE, OneUPIE
188 from .imdb import (
189     ImdbIE,
190     ImdbListIE
191 )
192 from .ina import InaIE
193 from .infoq import InfoQIE
194 from .instagram import InstagramIE, InstagramUserIE
195 from .internetvideoarchive import InternetVideoArchiveIE
196 from .iprima import IPrimaIE
197 from .ivi import (
198     IviIE,
199     IviCompilationIE
200 )
201 from .izlesene import IzleseneIE
202 from .jadorecettepub import JadoreCettePubIE
203 from .jeuxvideo import JeuxVideoIE
204 from .jove import JoveIE
205 from .jukebox import JukeboxIE
206 from .jpopsukitv import JpopsukiIE
207 from .kankan import KankanIE
208 from .keezmovies import KeezMoviesIE
209 from .khanacademy import KhanAcademyIE
210 from .kickstarter import KickStarterIE
211 from .keek import KeekIE
212 from .kontrtube import KontrTubeIE
213 from .krasview import KrasViewIE
214 from .ku6 import Ku6IE
215 from .la7 import LA7IE
216 from .laola1tv import Laola1TvIE
217 from .lifenews import LifeNewsIE
218 from .liveleak import LiveLeakIE
219 from .livestream import (
220     LivestreamIE,
221     LivestreamOriginalIE,
222     LivestreamShortenerIE,
223 )
224 from .lrt import LRTIE
225 from .lynda import (
226     LyndaIE,
227     LyndaCourseIE
228 )
229 from .m6 import M6IE
230 from .macgamestore import MacGameStoreIE
231 from .mailru import MailRuIE
232 from .malemotion import MalemotionIE
233 from .mdr import MDRIE
234 from .metacafe import MetacafeIE
235 from .metacritic import MetacriticIE
236 from .mgoon import MgoonIE
237 from .minhateca import MinhatecaIE
238 from .ministrygrid import MinistryGridIE
239 from .mit import TechTVMITIE, MITIE, OCWMITIE
240 from .mitele import MiTeleIE
241 from .mixcloud import MixcloudIE
242 from .mlb import MLBIE
243 from .mpora import MporaIE
244 from .moevideo import MoeVideoIE
245 from .mofosex import MofosexIE
246 from .mojvideo import MojvideoIE
247 from .moniker import MonikerIE
248 from .mooshare import MooshareIE
249 from .morningstar import MorningstarIE
250 from .motherless import MotherlessIE
251 from .motorsport import MotorsportIE
252 from .movieclips import MovieClipsIE
253 from .moviezine import MoviezineIE
254 from .movshare import MovShareIE
255 from .mtv import (
256     MTVIE,
257     MTVServicesEmbeddedIE,
258     MTVIggyIE,
259 )
260 from .muenchentv import MuenchenTVIE
261 from .musicplayon import MusicPlayOnIE
262 from .musicvault import MusicVaultIE
263 from .muzu import MuzuTVIE
264 from .myspace import MySpaceIE, MySpaceAlbumIE
265 from .myspass import MySpassIE
266 from .myvideo import MyVideoIE
267 from .myvidster import MyVidsterIE
268 from .naver import NaverIE
269 from .nba import NBAIE
270 from .nbc import (
271     NBCIE,
272     NBCNewsIE,
273 )
274 from .ndr import NDRIE
275 from .ndtv import NDTVIE
276 from .nerdcubed import NerdCubedFeedIE
277 from .newgrounds import NewgroundsIE
278 from .newstube import NewstubeIE
279 from .nfb import NFBIE
280 from .nfl import NFLIE
281 from .nhl import NHLIE, NHLVideocenterIE
282 from .niconico import NiconicoIE, NiconicoPlaylistIE
283 from .ninegag import NineGagIE
284 from .noco import NocoIE
285 from .normalboots import NormalbootsIE
286 from .nosvideo import NosVideoIE
287 from .novamov import NovaMovIE
288 from .nowness import NownessIE
289 from .nowvideo import NowVideoIE
290 from .npo import (
291     NPOIE,
292     TegenlichtVproIE,
293 )
294 from .nrk import (
295     NRKIE,
296     NRKTVIE,
297 )
298 from .ntv import NTVIE
299 from .nytimes import NYTimesIE
300 from .nuvid import NuvidIE
301 from .oktoberfesttv import OktoberfestTVIE
302 from .ooyala import OoyalaIE
303 from .openfilm import OpenFilmIE
304 from .orf import (
305     ORFTVthekIE,
306     ORFOE1IE,
307     ORFFM4IE,
308 )
309 from .parliamentliveuk import ParliamentLiveUKIE
310 from .patreon import PatreonIE
311 from .pbs import PBSIE
312 from .phoenix import PhoenixIE
313 from .photobucket import PhotobucketIE
314 from .planetaplay import PlanetaPlayIE
315 from .played import PlayedIE
316 from .playfm import PlayFMIE
317 from .playvid import PlayvidIE
318 from .podomatic import PodomaticIE
319 from .pornhd import PornHdIE
320 from .pornhub import PornHubIE
321 from .pornotube import PornotubeIE
322 from .pornoxo import PornoXOIE
323 from .promptfile import PromptFileIE
324 from .prosiebensat1 import ProSiebenSat1IE
325 from .pyvideo import PyvideoIE
326 from .quickvid import QuickVidIE
327 from .radiode import RadioDeIE
328 from .radiobremen import RadioBremenIE
329 from .radiofrance import RadioFranceIE
330 from .rai import RaiIE
331 from .rbmaradio import RBMARadioIE
332 from .redtube import RedTubeIE
333 from .restudy import RestudyIE
334 from .reverbnation import ReverbNationIE
335 from .ringtv import RingTVIE
336 from .ro220 import Ro220IE
337 from .rottentomatoes import RottenTomatoesIE
338 from .roxwel import RoxwelIE
339 from .rtbf import RTBFIE
340 from .rtlnl import RtlXlIE
341 from .rtlnow import RTLnowIE
342 from .rtp import RTPIE
343 from .rts import RTSIE
344 from .rtve import RTVEALaCartaIE, RTVELiveIE
345 from .ruhd import RUHDIE
346 from .rutube import (
347     RutubeIE,
348     RutubeChannelIE,
349     RutubeEmbedIE,
350     RutubeMovieIE,
351     RutubePersonIE,
352 )
353 from .rutv import RUTVIE
354 from .sapo import SapoIE
355 from .savefrom import SaveFromIE
356 from .sbs import SBSIE
357 from .scivee import SciVeeIE
358 from .screencast import ScreencastIE
359 from .screencastomatic import ScreencastOMaticIE
360 from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
361 from .servingsys import ServingSysIE
362 from .sexu import SexuIE
363 from .sexykarma import SexyKarmaIE
364 from .shared import SharedIE
365 from .sharesix import ShareSixIE
366 from .sina import SinaIE
367 from .slideshare import SlideshareIE
368 from .slutload import SlutloadIE
369 from .smotri import (
370     SmotriIE,
371     SmotriCommunityIE,
372     SmotriUserIE,
373     SmotriBroadcastIE,
374 )
375 from .snotr import SnotrIE
376 from .sockshare import SockshareIE
377 from .sohu import SohuIE
378 from .soundcloud import (
379     SoundcloudIE,
380     SoundcloudSetIE,
381     SoundcloudUserIE,
382     SoundcloudPlaylistIE
383 )
384 from .soundgasm import SoundgasmIE
385 from .southpark import (
386     SouthParkIE,
387     SouthparkDeIE,
388 )
389 from .space import SpaceIE
390 from .spankwire import SpankwireIE
391 from .spiegel import SpiegelIE, SpiegelArticleIE
392 from .spiegeltv import SpiegeltvIE
393 from .spike import SpikeIE
394 from .sport5 import Sport5IE
395 from .sportbox import SportBoxIE
396 from .sportdeutschland import SportDeutschlandIE
397 from .srmediathek import SRMediathekIE
398 from .stanfordoc import StanfordOpenClassroomIE
399 from .steam import SteamIE
400 from .streamcloud import StreamcloudIE
401 from .streamcz import StreamCZIE
402 from .sunporno import SunPornoIE
403 from .swrmediathek import SWRMediathekIE
404 from .syfy import SyfyIE
405 from .sztvhu import SztvHuIE
406 from .tagesschau import TagesschauIE
407 from .tapely import TapelyIE
408 from .tass import TassIE
409 from .teachertube import (
410     TeacherTubeIE,
411     TeacherTubeUserIE,
412 )
413 from .teachingchannel import TeachingChannelIE
414 from .teamcoco import TeamcocoIE
415 from .techtalks import TechTalksIE
416 from .ted import TEDIE
417 from .telebruxelles import TeleBruxellesIE
418 from .telecinco import TelecincoIE
419 from .telemb import TeleMBIE
420 from .teletask import TeleTaskIE
421 from .tenplay import TenPlayIE
422 from .testurl import TestURLIE
423 from .tf1 import TF1IE
424 from .theonion import TheOnionIE
425 from .theplatform import ThePlatformIE
426 from .thesixtyone import TheSixtyOneIE
427 from .thisav import ThisAVIE
428 from .tinypic import TinyPicIE
429 from .tlc import TlcIE, TlcDeIE
430 from .tmz import TMZIE
431 from .tnaflix import TNAFlixIE
432 from .thvideo import (
433     THVideoIE,
434     THVideoPlaylistIE
435 )
436 from .toutv import TouTvIE
437 from .toypics import ToypicsUserIE, ToypicsIE
438 from .traileraddict import TrailerAddictIE
439 from .trilulilu import TriluliluIE
440 from .trutube import TruTubeIE
441 from .tube8 import Tube8IE
442 from .tudou import TudouIE
443 from .tumblr import TumblrIE
444 from .tunein import TuneInIE
445 from .turbo import TurboIE
446 from .tutv import TutvIE
447 from .tvigle import TvigleIE
448 from .tvp import TvpIE
449 from .tvplay import TVPlayIE
450 from .twentyfourvideo import TwentyFourVideoIE
451 from .twitch import TwitchIE
452 from .ubu import UbuIE
453 from .udemy import (
454     UdemyIE,
455     UdemyCourseIE
456 )
457 from .unistra import UnistraIE
458 from .urort import UrortIE
459 from .ustream import UstreamIE, UstreamChannelIE
460 from .vbox7 import Vbox7IE
461 from .veehd import VeeHDIE
462 from .veoh import VeohIE
463 from .vesti import VestiIE
464 from .vevo import VevoIE
465 from .vgtv import VGTVIE
466 from .vh1 import VH1IE
467 from .vice import ViceIE
468 from .viddler import ViddlerIE
469 from .videobam import VideoBamIE
470 from .videodetective import VideoDetectiveIE
471 from .videolecturesnet import VideoLecturesNetIE
472 from .videofyme import VideofyMeIE
473 from .videomega import VideoMegaIE
474 from .videopremium import VideoPremiumIE
475 from .videott import VideoTtIE
476 from .videoweed import VideoWeedIE
477 from .vidme import VidmeIE
478 from .vidzi import VidziIE
479 from .vier import VierIE, VierVideosIE
480 from .vimeo import (
481     VimeoIE,
482     VimeoAlbumIE,
483     VimeoChannelIE,
484     VimeoGroupsIE,
485     VimeoLikesIE,
486     VimeoReviewIE,
487     VimeoUserIE,
488     VimeoWatchLaterIE,
489 )
490 from .vimple import VimpleIE
491 from .vine import (
492     VineIE,
493     VineUserIE,
494 )
495 from .viki import VikiIE
496 from .vk import (
497     VKIE,
498     VKUserVideosIE,
499 )
500 from .vodlocker import VodlockerIE
501 from .vporn import VpornIE
502 from .vrt import VRTIE
503 from .vube import VubeIE
504 from .vuclip import VuClipIE
505 from .vulture import VultureIE
506 from .walla import WallaIE
507 from .washingtonpost import WashingtonPostIE
508 from .wat import WatIE
509 from .wayofthemaster import WayOfTheMasterIE
510 from .wdr import (
511     WDRIE,
512     WDRMobileIE,
513     WDRMausIE,
514 )
515 from .webofstories import WebOfStoriesIE
516 from .weibo import WeiboIE
517 from .wimp import WimpIE
518 from .wistia import WistiaIE
519 from .worldstarhiphop import WorldStarHipHopIE
520 from .wrzuta import WrzutaIE
521 from .xbef import XBefIE
522 from .xboxclips import XboxClipsIE
523 from .xhamster import XHamsterIE
524 from .xminus import XMinusIE
525 from .xnxx import XNXXIE
526 from .xvideos import XVideosIE
527 from .xtube import XTubeUserIE, XTubeIE
528 from .xxxymovies import XXXYMoviesIE
529 from .yahoo import (
530     YahooIE,
531     YahooSearchIE,
532 )
533 from .yesjapan import YesJapanIE
534 from .ynet import YnetIE
535 from .youjizz import YouJizzIE
536 from .youku import YoukuIE
537 from .youporn import YouPornIE
538 from .yourupload import YourUploadIE
539 from .youtube import (
540     YoutubeIE,
541     YoutubeChannelIE,
542     YoutubeFavouritesIE,
543     YoutubeHistoryIE,
544     YoutubePlaylistIE,
545     YoutubeRecommendedIE,
546     YoutubeSearchDateIE,
547     YoutubeSearchIE,
548     YoutubeSearchURLIE,
549     YoutubeShowIE,
550     YoutubeSubscriptionsIE,
551     YoutubeTruncatedIDIE,
552     YoutubeTruncatedURLIE,
553     YoutubeUserIE,
554     YoutubeWatchLaterIE,
555 )
556 from .zdf import ZDFIE, ZDFChannelIE
557 from .zingmp3 import (
558     ZingMp3SongIE,
559     ZingMp3AlbumIE,
560 )
561
562 _ALL_CLASSES = [
563     klass
564     for name, klass in globals().items()
565     if name.endswith('IE') and name != 'GenericIE'
566 ]
567 _ALL_CLASSES.append(GenericIE)
568
569
570 def gen_extractors():
571     """ Return a list of an instance of every supported extractor.
572     The order does matter; the first extractor matched is the one handling the URL.
573     """
574     return [klass() for klass in _ALL_CLASSES]
575
576
577 def get_info_extractor(ie_name):
578     """Returns the info extractor class with the given ie_name"""
579     return globals()[ie_name + 'IE']