[kaltura] Add new extractor
[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 .kaltura import KalturaIE
231 from .kankan import KankanIE
232 from .karaoketv import KaraoketvIE
233 from .keezmovies import KeezMoviesIE
234 from .khanacademy import KhanAcademyIE
235 from .kickstarter import KickStarterIE
236 from .keek import KeekIE
237 from .kontrtube import KontrTubeIE
238 from .krasview import KrasViewIE
239 from .ku6 import Ku6IE
240 from .la7 import LA7IE
241 from .laola1tv import Laola1TvIE
242 from .letv import (
243     LetvIE,
244     LetvTvIE,
245     LetvPlaylistIE
246 )
247 from .lifenews import LifeNewsIE
248 from .liveleak import LiveLeakIE
249 from .livestream import (
250     LivestreamIE,
251     LivestreamOriginalIE,
252     LivestreamShortenerIE,
253 )
254 from .lnkgo import LnkGoIE
255 from .lrt import LRTIE
256 from .lynda import (
257     LyndaIE,
258     LyndaCourseIE
259 )
260 from .m6 import M6IE
261 from .macgamestore import MacGameStoreIE
262 from .mailru import MailRuIE
263 from .malemotion import MalemotionIE
264 from .mdr import MDRIE
265 from .metacafe import MetacafeIE
266 from .metacritic import MetacriticIE
267 from .mgoon import MgoonIE
268 from .minhateca import MinhatecaIE
269 from .ministrygrid import MinistryGridIE
270 from .mit import TechTVMITIE, MITIE, OCWMITIE
271 from .mitele import MiTeleIE
272 from .mixcloud import MixcloudIE
273 from .mlb import MLBIE
274 from .mpora import MporaIE
275 from .moevideo import MoeVideoIE
276 from .mofosex import MofosexIE
277 from .mojvideo import MojvideoIE
278 from .moniker import MonikerIE
279 from .mooshare import MooshareIE
280 from .morningstar import MorningstarIE
281 from .motherless import MotherlessIE
282 from .motorsport import MotorsportIE
283 from .movieclips import MovieClipsIE
284 from .moviezine import MoviezineIE
285 from .movshare import MovShareIE
286 from .mtv import (
287     MTVIE,
288     MTVServicesEmbeddedIE,
289     MTVIggyIE,
290 )
291 from .muenchentv import MuenchenTVIE
292 from .musicplayon import MusicPlayOnIE
293 from .musicvault import MusicVaultIE
294 from .muzu import MuzuTVIE
295 from .myspace import MySpaceIE, MySpaceAlbumIE
296 from .myspass import MySpassIE
297 from .myvideo import MyVideoIE
298 from .myvidster import MyVidsterIE
299 from .nationalgeographic import NationalGeographicIE
300 from .naver import NaverIE
301 from .nba import NBAIE
302 from .nbc import (
303     NBCIE,
304     NBCNewsIE,
305 )
306 from .ndr import NDRIE
307 from .ndtv import NDTVIE
308 from .netzkino import NetzkinoIE
309 from .nerdcubed import NerdCubedFeedIE
310 from .nerdist import NerdistIE
311 from .newgrounds import NewgroundsIE
312 from .newstube import NewstubeIE
313 from .nextmedia import (
314     NextMediaIE,
315     NextMediaActionNewsIE,
316     AppleDailyRealtimeNewsIE,
317     AppleDailyAnimationNewsIE
318 )
319 from .nfb import NFBIE
320 from .nfl import NFLIE
321 from .nhl import (
322     NHLIE,
323     NHLNewsIE,
324     NHLVideocenterIE,
325 )
326 from .niconico import NiconicoIE, NiconicoPlaylistIE
327 from .ninegag import NineGagIE
328 from .noco import NocoIE
329 from .normalboots import NormalbootsIE
330 from .nosvideo import NosVideoIE
331 from .novamov import NovaMovIE
332 from .nowness import NownessIE
333 from .nowvideo import NowVideoIE
334 from .npo import (
335     NPOIE,
336     NPOLiveIE,
337     NPORadioIE,
338     NPORadioFragmentIE,
339     TegenlichtVproIE,
340 )
341 from .nrk import (
342     NRKIE,
343     NRKTVIE,
344 )
345 from .ntvde import NTVDeIE
346 from .ntvru import NTVRuIE
347 from .nytimes import NYTimesIE
348 from .nuvid import NuvidIE
349 from .oktoberfesttv import OktoberfestTVIE
350 from .ooyala import OoyalaIE
351 from .openfilm import OpenFilmIE
352 from .orf import (
353     ORFTVthekIE,
354     ORFOE1IE,
355     ORFFM4IE,
356 )
357 from .parliamentliveuk import ParliamentLiveUKIE
358 from .patreon import PatreonIE
359 from .pbs import PBSIE
360 from .phoenix import PhoenixIE
361 from .photobucket import PhotobucketIE
362 from .planetaplay import PlanetaPlayIE
363 from .played import PlayedIE
364 from .playfm import PlayFMIE
365 from .playvid import PlayvidIE
366 from .podomatic import PodomaticIE
367 from .pornhd import PornHdIE
368 from .pornhub import (
369     PornHubIE,
370     PornHubPlaylistIE,
371 )
372 from .pornotube import PornotubeIE
373 from .pornoxo import PornoXOIE
374 from .promptfile import PromptFileIE
375 from .prosiebensat1 import ProSiebenSat1IE
376 from .pyvideo import PyvideoIE
377 from .quickvid import QuickVidIE
378 from .r7 import R7IE
379 from .radiode import RadioDeIE
380 from .radiobremen import RadioBremenIE
381 from .radiofrance import RadioFranceIE
382 from .rai import RaiIE
383 from .rbmaradio import RBMARadioIE
384 from .redtube import RedTubeIE
385 from .restudy import RestudyIE
386 from .reverbnation import ReverbNationIE
387 from .ringtv import RingTVIE
388 from .ro220 import Ro220IE
389 from .rottentomatoes import RottenTomatoesIE
390 from .roxwel import RoxwelIE
391 from .rtbf import RTBFIE
392 from .rte import RteIE
393 from .rtlnl import RtlNlIE
394 from .rtlnow import RTLnowIE
395 from .rtl2 import RTL2IE
396 from .rtp import RTPIE
397 from .rts import RTSIE
398 from .rtve import RTVEALaCartaIE, RTVELiveIE
399 from .ruhd import RUHDIE
400 from .rutube import (
401     RutubeIE,
402     RutubeChannelIE,
403     RutubeEmbedIE,
404     RutubeMovieIE,
405     RutubePersonIE,
406 )
407 from .rutv import RUTVIE
408 from .sandia import SandiaIE
409 from .sapo import SapoIE
410 from .savefrom import SaveFromIE
411 from .sbs import SBSIE
412 from .scivee import SciVeeIE
413 from .screencast import ScreencastIE
414 from .screencastomatic import ScreencastOMaticIE
415 from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
416 from .servingsys import ServingSysIE
417 from .sexu import SexuIE
418 from .sexykarma import SexyKarmaIE
419 from .shared import SharedIE
420 from .sharesix import ShareSixIE
421 from .sina import SinaIE
422 from .slideshare import SlideshareIE
423 from .slutload import SlutloadIE
424 from .smotri import (
425     SmotriIE,
426     SmotriCommunityIE,
427     SmotriUserIE,
428     SmotriBroadcastIE,
429 )
430 from .snotr import SnotrIE
431 from .sockshare import SockshareIE
432 from .sohu import SohuIE
433 from .soundcloud import (
434     SoundcloudIE,
435     SoundcloudSetIE,
436     SoundcloudUserIE,
437     SoundcloudPlaylistIE
438 )
439 from .soundgasm import (
440     SoundgasmIE,
441     SoundgasmProfileIE
442 )
443 from .southpark import (
444     SouthParkIE,
445     SouthparkDeIE,
446 )
447 from .space import SpaceIE
448 from .spankwire import SpankwireIE
449 from .spiegel import SpiegelIE, SpiegelArticleIE
450 from .spiegeltv import SpiegeltvIE
451 from .spike import SpikeIE
452 from .sport5 import Sport5IE
453 from .sportbox import SportBoxIE
454 from .sportdeutschland import SportDeutschlandIE
455 from .srmediathek import SRMediathekIE
456 from .stanfordoc import StanfordOpenClassroomIE
457 from .steam import SteamIE
458 from .streamcloud import StreamcloudIE
459 from .streamcz import StreamCZIE
460 from .streetvoice import StreetVoiceIE
461 from .sunporno import SunPornoIE
462 from .svtplay import SVTPlayIE
463 from .swrmediathek import SWRMediathekIE
464 from .syfy import SyfyIE
465 from .sztvhu import SztvHuIE
466 from .tagesschau import TagesschauIE
467 from .tapely import TapelyIE
468 from .tass import TassIE
469 from .teachertube import (
470     TeacherTubeIE,
471     TeacherTubeUserIE,
472 )
473 from .teachingchannel import TeachingChannelIE
474 from .teamcoco import TeamcocoIE
475 from .techtalks import TechTalksIE
476 from .ted import TEDIE
477 from .telebruxelles import TeleBruxellesIE
478 from .telecinco import TelecincoIE
479 from .telemb import TeleMBIE
480 from .teletask import TeleTaskIE
481 from .tenplay import TenPlayIE
482 from .testurl import TestURLIE
483 from .testtube import TestTubeIE
484 from .tf1 import TF1IE
485 from .theonion import TheOnionIE
486 from .theplatform import ThePlatformIE
487 from .thesixtyone import TheSixtyOneIE
488 from .thisav import ThisAVIE
489 from .tinypic import TinyPicIE
490 from .tlc import TlcIE, TlcDeIE
491 from .tmz import TMZIE
492 from .tnaflix import TNAFlixIE
493 from .thvideo import (
494     THVideoIE,
495     THVideoPlaylistIE
496 )
497 from .toutv import TouTvIE
498 from .toypics import ToypicsUserIE, ToypicsIE
499 from .traileraddict import TrailerAddictIE
500 from .trilulilu import TriluliluIE
501 from .trutube import TruTubeIE
502 from .tube8 import Tube8IE
503 from .tudou import TudouIE
504 from .tumblr import TumblrIE
505 from .tunein import TuneInIE
506 from .turbo import TurboIE
507 from .tutv import TutvIE
508 from .tv4 import TV4IE
509 from .tvigle import TvigleIE
510 from .tvp import TvpIE, TvpSeriesIE
511 from .tvplay import TVPlayIE
512 from .tweakers import TweakersIE
513 from .twentyfourvideo import TwentyFourVideoIE
514 from .twitch import (
515     TwitchVideoIE,
516     TwitchChapterIE,
517     TwitchVodIE,
518     TwitchProfileIE,
519     TwitchPastBroadcastsIE,
520     TwitchBookmarksIE,
521     TwitchStreamIE,
522 )
523 from .ubu import UbuIE
524 from .udemy import (
525     UdemyIE,
526     UdemyCourseIE
527 )
528 from .unistra import UnistraIE
529 from .urort import UrortIE
530 from .ustream import UstreamIE, UstreamChannelIE
531 from .vbox7 import Vbox7IE
532 from .veehd import VeeHDIE
533 from .veoh import VeohIE
534 from .vesti import VestiIE
535 from .vevo import VevoIE
536 from .vgtv import VGTVIE
537 from .vh1 import VH1IE
538 from .vice import ViceIE
539 from .viddler import ViddlerIE
540 from .videobam import VideoBamIE
541 from .videodetective import VideoDetectiveIE
542 from .videolecturesnet import VideoLecturesNetIE
543 from .videofyme import VideofyMeIE
544 from .videomega import VideoMegaIE
545 from .videopremium import VideoPremiumIE
546 from .videott import VideoTtIE
547 from .videoweed import VideoWeedIE
548 from .vidme import VidmeIE
549 from .vidzi import VidziIE
550 from .vier import VierIE, VierVideosIE
551 from .vimeo import (
552     VimeoIE,
553     VimeoAlbumIE,
554     VimeoChannelIE,
555     VimeoGroupsIE,
556     VimeoLikesIE,
557     VimeoReviewIE,
558     VimeoUserIE,
559     VimeoWatchLaterIE,
560 )
561 from .vimple import VimpleIE
562 from .vine import (
563     VineIE,
564     VineUserIE,
565 )
566 from .viki import VikiIE
567 from .vk import (
568     VKIE,
569     VKUserVideosIE,
570 )
571 from .vodlocker import VodlockerIE
572 from .vporn import VpornIE
573 from .vrt import VRTIE
574 from .vube import VubeIE
575 from .vuclip import VuClipIE
576 from .vulture import VultureIE
577 from .walla import WallaIE
578 from .washingtonpost import WashingtonPostIE
579 from .wat import WatIE
580 from .wayofthemaster import WayOfTheMasterIE
581 from .wdr import (
582     WDRIE,
583     WDRMobileIE,
584     WDRMausIE,
585 )
586 from .webofstories import WebOfStoriesIE
587 from .weibo import WeiboIE
588 from .wimp import WimpIE
589 from .wistia import WistiaIE
590 from .worldstarhiphop import WorldStarHipHopIE
591 from .wrzuta import WrzutaIE
592 from .wsj import WSJIE
593 from .xbef import XBefIE
594 from .xboxclips import XboxClipsIE
595 from .xhamster import XHamsterIE
596 from .xminus import XMinusIE
597 from .xnxx import XNXXIE
598 from .xvideos import XVideosIE
599 from .xtube import XTubeUserIE, XTubeIE
600 from .xuite import XuiteIE
601 from .xxxymovies import XXXYMoviesIE
602 from .yahoo import (
603     YahooIE,
604     YahooSearchIE,
605 )
606 from .yam import YamIE
607 from .yesjapan import YesJapanIE
608 from .ynet import YnetIE
609 from .youjizz import YouJizzIE
610 from .youku import YoukuIE
611 from .youporn import YouPornIE
612 from .yourupload import YourUploadIE
613 from .youtube import (
614     YoutubeIE,
615     YoutubeChannelIE,
616     YoutubeFavouritesIE,
617     YoutubeHistoryIE,
618     YoutubePlaylistIE,
619     YoutubeRecommendedIE,
620     YoutubeSearchDateIE,
621     YoutubeSearchIE,
622     YoutubeSearchURLIE,
623     YoutubeShowIE,
624     YoutubeSubscriptionsIE,
625     YoutubeTruncatedIDIE,
626     YoutubeTruncatedURLIE,
627     YoutubeUserIE,
628     YoutubeWatchLaterIE,
629 )
630 from .zapiks import ZapiksIE
631 from .zdf import ZDFIE, ZDFChannelIE
632 from .zingmp3 import (
633     ZingMp3SongIE,
634     ZingMp3AlbumIE,
635 )
636
637 _ALL_CLASSES = [
638     klass
639     for name, klass in globals().items()
640     if name.endswith('IE') and name != 'GenericIE'
641 ]
642 _ALL_CLASSES.append(GenericIE)
643
644
645 def gen_extractors():
646     """ Return a list of an instance of every supported extractor.
647     The order does matter; the first extractor matched is the one handling the URL.
648     """
649     return [klass() for klass in _ALL_CLASSES]
650
651
652 def list_extractors(age_limit):
653     """
654     Return a list of extractors that are suitable for the given age,
655     sorted by extractor ID.
656     """
657
658     return sorted(
659         filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
660         key=lambda ie: ie.IE_NAME.lower())
661
662
663 def get_info_extractor(ie_name):
664     """Returns the info extractor class with the given ie_name"""
665     return globals()[ie_name + 'IE']