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