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