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