You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

592 lines
16 KiB

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