__init__.py 17 KB

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