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.

612 lines
17 KiB

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