__init__.py 17 KB

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