[odnoklassniki] Add extractor (Closes #5075)
[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 .odnoklassniki import OdnoklassnikiIE
350 from .oktoberfesttv import OktoberfestTVIE
351 from .ooyala import OoyalaIE
352 from .openfilm import OpenFilmIE
353 from .orf import (
354     ORFTVthekIE,
355     ORFOE1IE,
356     ORFFM4IE,
357 )
358 from .parliamentliveuk import ParliamentLiveUKIE
359 from .patreon import PatreonIE
360 from .pbs import PBSIE
361 from .phoenix import PhoenixIE
362 from .photobucket import PhotobucketIE
363 from .planetaplay import PlanetaPlayIE
364 from .played import PlayedIE
365 from .playfm import PlayFMIE
366 from .playvid import PlayvidIE
367 from .podomatic import PodomaticIE
368 from .pornhd import PornHdIE
369 from .pornhub import (
370     PornHubIE,
371     PornHubPlaylistIE,
372 )
373 from .pornotube import PornotubeIE
374 from .pornoxo import PornoXOIE
375 from .promptfile import PromptFileIE
376 from .prosiebensat1 import ProSiebenSat1IE
377 from .pyvideo import PyvideoIE
378 from .quickvid import QuickVidIE
379 from .r7 import R7IE
380 from .radiode import RadioDeIE
381 from .radiobremen import RadioBremenIE
382 from .radiofrance import RadioFranceIE
383 from .rai import RaiIE
384 from .rbmaradio import RBMARadioIE
385 from .redtube import RedTubeIE
386 from .restudy import RestudyIE
387 from .reverbnation import ReverbNationIE
388 from .ringtv import RingTVIE
389 from .ro220 import Ro220IE
390 from .rottentomatoes import RottenTomatoesIE
391 from .roxwel import RoxwelIE
392 from .rtbf import RTBFIE
393 from .rte import RteIE
394 from .rtlnl import RtlNlIE
395 from .rtlnow import RTLnowIE
396 from .rtl2 import RTL2IE
397 from .rtp import RTPIE
398 from .rts import RTSIE
399 from .rtve import RTVEALaCartaIE, RTVELiveIE
400 from .ruhd import RUHDIE
401 from .rutube import (
402     RutubeIE,
403     RutubeChannelIE,
404     RutubeEmbedIE,
405     RutubeMovieIE,
406     RutubePersonIE,
407 )
408 from .rutv import RUTVIE
409 from .sandia import SandiaIE
410 from .sapo import SapoIE
411 from .savefrom import SaveFromIE
412 from .sbs import SBSIE
413 from .scivee import SciVeeIE
414 from .screencast import ScreencastIE
415 from .screencastomatic import ScreencastOMaticIE
416 from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
417 from .servingsys import ServingSysIE
418 from .sexu import SexuIE
419 from .sexykarma import SexyKarmaIE
420 from .shared import SharedIE
421 from .sharesix import ShareSixIE
422 from .sina import SinaIE
423 from .slideshare import SlideshareIE
424 from .slutload import SlutloadIE
425 from .smotri import (
426     SmotriIE,
427     SmotriCommunityIE,
428     SmotriUserIE,
429     SmotriBroadcastIE,
430 )
431 from .snotr import SnotrIE
432 from .sockshare import SockshareIE
433 from .sohu import SohuIE
434 from .soundcloud import (
435     SoundcloudIE,
436     SoundcloudSetIE,
437     SoundcloudUserIE,
438     SoundcloudPlaylistIE
439 )
440 from .soundgasm import (
441     SoundgasmIE,
442     SoundgasmProfileIE
443 )
444 from .southpark import (
445     SouthParkIE,
446     SouthparkDeIE,
447 )
448 from .space import SpaceIE
449 from .spankwire import SpankwireIE
450 from .spiegel import SpiegelIE, SpiegelArticleIE
451 from .spiegeltv import SpiegeltvIE
452 from .spike import SpikeIE
453 from .sport5 import Sport5IE
454 from .sportbox import SportBoxIE
455 from .sportdeutschland import SportDeutschlandIE
456 from .srmediathek import SRMediathekIE
457 from .stanfordoc import StanfordOpenClassroomIE
458 from .steam import SteamIE
459 from .streamcloud import StreamcloudIE
460 from .streamcz import StreamCZIE
461 from .streetvoice import StreetVoiceIE
462 from .sunporno import SunPornoIE
463 from .svtplay import SVTPlayIE
464 from .swrmediathek import SWRMediathekIE
465 from .syfy import SyfyIE
466 from .sztvhu import SztvHuIE
467 from .tagesschau import TagesschauIE
468 from .tapely import TapelyIE
469 from .tass import TassIE
470 from .teachertube import (
471     TeacherTubeIE,
472     TeacherTubeUserIE,
473 )
474 from .teachingchannel import TeachingChannelIE
475 from .teamcoco import TeamcocoIE
476 from .techtalks import TechTalksIE
477 from .ted import TEDIE
478 from .telebruxelles import TeleBruxellesIE
479 from .telecinco import TelecincoIE
480 from .telemb import TeleMBIE
481 from .teletask import TeleTaskIE
482 from .tenplay import TenPlayIE
483 from .testurl import TestURLIE
484 from .testtube import TestTubeIE
485 from .tf1 import TF1IE
486 from .theonion import TheOnionIE
487 from .theplatform import ThePlatformIE
488 from .thesixtyone import TheSixtyOneIE
489 from .thisav import ThisAVIE
490 from .tinypic import TinyPicIE
491 from .tlc import TlcIE, TlcDeIE
492 from .tmz import TMZIE
493 from .tnaflix import TNAFlixIE
494 from .thvideo import (
495     THVideoIE,
496     THVideoPlaylistIE
497 )
498 from .toutv import TouTvIE
499 from .toypics import ToypicsUserIE, ToypicsIE
500 from .traileraddict import TrailerAddictIE
501 from .trilulilu import TriluliluIE
502 from .trutube import TruTubeIE
503 from .tube8 import Tube8IE
504 from .tudou import TudouIE
505 from .tumblr import TumblrIE
506 from .tunein import TuneInIE
507 from .turbo import TurboIE
508 from .tutv import TutvIE
509 from .tv4 import TV4IE
510 from .tvigle import TvigleIE
511 from .tvp import TvpIE, TvpSeriesIE
512 from .tvplay import TVPlayIE
513 from .tweakers import TweakersIE
514 from .twentyfourvideo import TwentyFourVideoIE
515 from .twitch import (
516     TwitchVideoIE,
517     TwitchChapterIE,
518     TwitchVodIE,
519     TwitchProfileIE,
520     TwitchPastBroadcastsIE,
521     TwitchBookmarksIE,
522     TwitchStreamIE,
523 )
524 from .ubu import UbuIE
525 from .udemy import (
526     UdemyIE,
527     UdemyCourseIE
528 )
529 from .unistra import UnistraIE
530 from .urort import UrortIE
531 from .ustream import UstreamIE, UstreamChannelIE
532 from .vbox7 import Vbox7IE
533 from .veehd import VeeHDIE
534 from .veoh import VeohIE
535 from .vesti import VestiIE
536 from .vevo import VevoIE
537 from .vgtv import VGTVIE
538 from .vh1 import VH1IE
539 from .vice import ViceIE
540 from .viddler import ViddlerIE
541 from .videobam import VideoBamIE
542 from .videodetective import VideoDetectiveIE
543 from .videolecturesnet import VideoLecturesNetIE
544 from .videofyme import VideofyMeIE
545 from .videomega import VideoMegaIE
546 from .videopremium import VideoPremiumIE
547 from .videott import VideoTtIE
548 from .videoweed import VideoWeedIE
549 from .vidme import VidmeIE
550 from .vidzi import VidziIE
551 from .vier import VierIE, VierVideosIE
552 from .vimeo import (
553     VimeoIE,
554     VimeoAlbumIE,
555     VimeoChannelIE,
556     VimeoGroupsIE,
557     VimeoLikesIE,
558     VimeoReviewIE,
559     VimeoUserIE,
560     VimeoWatchLaterIE,
561 )
562 from .vimple import VimpleIE
563 from .vine import (
564     VineIE,
565     VineUserIE,
566 )
567 from .viki import VikiIE
568 from .vk import (
569     VKIE,
570     VKUserVideosIE,
571 )
572 from .vodlocker import VodlockerIE
573 from .vporn import VpornIE
574 from .vrt import VRTIE
575 from .vube import VubeIE
576 from .vuclip import VuClipIE
577 from .vulture import VultureIE
578 from .walla import WallaIE
579 from .washingtonpost import WashingtonPostIE
580 from .wat import WatIE
581 from .wayofthemaster import WayOfTheMasterIE
582 from .wdr import (
583     WDRIE,
584     WDRMobileIE,
585     WDRMausIE,
586 )
587 from .webofstories import WebOfStoriesIE
588 from .weibo import WeiboIE
589 from .wimp import WimpIE
590 from .wistia import WistiaIE
591 from .worldstarhiphop import WorldStarHipHopIE
592 from .wrzuta import WrzutaIE
593 from .wsj import WSJIE
594 from .xbef import XBefIE
595 from .xboxclips import XboxClipsIE
596 from .xhamster import XHamsterIE
597 from .xminus import XMinusIE
598 from .xnxx import XNXXIE
599 from .xvideos import XVideosIE
600 from .xtube import XTubeUserIE, XTubeIE
601 from .xuite import XuiteIE
602 from .xxxymovies import XXXYMoviesIE
603 from .yahoo import (
604     YahooIE,
605     YahooSearchIE,
606 )
607 from .yam import YamIE
608 from .yesjapan import YesJapanIE
609 from .ynet import YnetIE
610 from .youjizz import YouJizzIE
611 from .youku import YoukuIE
612 from .youporn import YouPornIE
613 from .yourupload import YourUploadIE
614 from .youtube import (
615     YoutubeIE,
616     YoutubeChannelIE,
617     YoutubeFavouritesIE,
618     YoutubeHistoryIE,
619     YoutubePlaylistIE,
620     YoutubeRecommendedIE,
621     YoutubeSearchDateIE,
622     YoutubeSearchIE,
623     YoutubeSearchURLIE,
624     YoutubeShowIE,
625     YoutubeSubscriptionsIE,
626     YoutubeTruncatedIDIE,
627     YoutubeTruncatedURLIE,
628     YoutubeUserIE,
629     YoutubeWatchLaterIE,
630 )
631 from .zapiks import ZapiksIE
632 from .zdf import ZDFIE, ZDFChannelIE
633 from .zingmp3 import (
634     ZingMp3SongIE,
635     ZingMp3AlbumIE,
636 )
637
638 _ALL_CLASSES = [
639     klass
640     for name, klass in globals().items()
641     if name.endswith('IE') and name != 'GenericIE'
642 ]
643 _ALL_CLASSES.append(GenericIE)
644
645
646 def gen_extractors():
647     """ Return a list of an instance of every supported extractor.
648     The order does matter; the first extractor matched is the one handling the URL.
649     """
650     return [klass() for klass in _ALL_CLASSES]
651
652
653 def list_extractors(age_limit):
654     """
655     Return a list of extractors that are suitable for the given age,
656     sorted by extractor ID.
657     """
658
659     return sorted(
660         filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
661         key=lambda ie: ie.IE_NAME.lower())
662
663
664 def get_info_extractor(ie_name):
665     """Returns the info extractor class with the given ie_name"""
666     return globals()[ie_name + 'IE']