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