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.

606 lines
16 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 .auengine import AUEngineIE
  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 .canal13cl import Canal13clIE
  52. from .canalplus import CanalplusIE
  53. from .canalc2 import Canalc2IE
  54. from .cbs import CBSIE
  55. from .cbsnews import CBSNewsIE
  56. from .ceskatelevize import CeskaTelevizeIE
  57. from .channel9 import Channel9IE
  58. from .chilloutzone import ChilloutzoneIE
  59. from .cinchcast import CinchcastIE
  60. from .clipfish import ClipfishIE
  61. from .cliphunter import CliphunterIE
  62. from .clipsyndicate import ClipsyndicateIE
  63. from .cloudy import CloudyIE
  64. from .clubic import ClubicIE
  65. from .cmt import CMTIE
  66. from .cnet import CNETIE
  67. from .cnn import (
  68. CNNIE,
  69. CNNBlogsIE,
  70. CNNArticleIE,
  71. )
  72. from .collegehumor import CollegeHumorIE
  73. from .collegerama import CollegeRamaIE
  74. from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
  75. from .comcarcoff import ComCarCoffIE
  76. from .commonmistakes import CommonMistakesIE
  77. from .condenast import CondeNastIE
  78. from .cracked import CrackedIE
  79. from .criterion import CriterionIE
  80. from .crunchyroll import (
  81. CrunchyrollIE,
  82. CrunchyrollShowPlaylistIE
  83. )
  84. from .cspan import CSpanIE
  85. from .dailymotion import (
  86. DailymotionIE,
  87. DailymotionPlaylistIE,
  88. DailymotionUserIE,
  89. )
  90. from .daum import DaumIE
  91. from .dbtv import DBTVIE
  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 .heise import HeiseIE
  179. from .hellporno import HellPornoIE
  180. from .helsinki import HelsinkiIE
  181. from .hentaistigma import HentaiStigmaIE
  182. from .hitbox import HitboxIE, HitboxLiveIE
  183. from .hornbunny import HornBunnyIE
  184. from .hostingbulk import HostingBulkIE
  185. from .hotnewhiphop import HotNewHipHopIE
  186. from .howcast import HowcastIE
  187. from .howstuffworks import HowStuffWorksIE
  188. from .huffpost import HuffPostIE
  189. from .hypem import HypemIE
  190. from .iconosquare import IconosquareIE
  191. from .ign import IGNIE, OneUPIE
  192. from .imdb import (
  193. ImdbIE,
  194. ImdbListIE
  195. )
  196. from .ina import InaIE
  197. from .infoq import InfoQIE
  198. from .instagram import InstagramIE, InstagramUserIE
  199. from .internetvideoarchive import InternetVideoArchiveIE
  200. from .iprima import IPrimaIE
  201. from .ivi import (
  202. IviIE,
  203. IviCompilationIE
  204. )
  205. from .izlesene import IzleseneIE
  206. from .jadorecettepub import JadoreCettePubIE
  207. from .jeuxvideo import JeuxVideoIE
  208. from .jove import JoveIE
  209. from .jukebox import JukeboxIE
  210. from .jpopsukitv import JpopsukiIE
  211. from .kankan import KankanIE
  212. from .karaoketv import KaraoketvIE
  213. from .keezmovies import KeezMoviesIE
  214. from .khanacademy import KhanAcademyIE
  215. from .kickstarter import KickStarterIE
  216. from .keek import KeekIE
  217. from .kontrtube import KontrTubeIE
  218. from .krasview import KrasViewIE
  219. from .ku6 import Ku6IE
  220. from .la7 import LA7IE
  221. from .laola1tv import Laola1TvIE
  222. from .lifenews import LifeNewsIE
  223. from .liveleak import LiveLeakIE
  224. from .livestream import (
  225. LivestreamIE,
  226. LivestreamOriginalIE,
  227. LivestreamShortenerIE,
  228. )
  229. from .lnkgo import LnkGoIE
  230. from .lrt import LRTIE
  231. from .lynda import (
  232. LyndaIE,
  233. LyndaCourseIE
  234. )
  235. from .m6 import M6IE
  236. from .macgamestore import MacGameStoreIE
  237. from .mailru import MailRuIE
  238. from .malemotion import MalemotionIE
  239. from .mdr import MDRIE
  240. from .metacafe import MetacafeIE
  241. from .metacritic import MetacriticIE
  242. from .mgoon import MgoonIE
  243. from .minhateca import MinhatecaIE
  244. from .ministrygrid import MinistryGridIE
  245. from .mit import TechTVMITIE, MITIE, OCWMITIE
  246. from .mitele import MiTeleIE
  247. from .mixcloud import MixcloudIE
  248. from .mlb import MLBIE
  249. from .mpora import MporaIE
  250. from .moevideo import MoeVideoIE
  251. from .mofosex import MofosexIE
  252. from .mojvideo import MojvideoIE
  253. from .moniker import MonikerIE
  254. from .mooshare import MooshareIE
  255. from .morningstar import MorningstarIE
  256. from .motherless import MotherlessIE
  257. from .motorsport import MotorsportIE
  258. from .movieclips import MovieClipsIE
  259. from .moviezine import MoviezineIE
  260. from .movshare import MovShareIE
  261. from .mtv import (
  262. MTVIE,
  263. MTVServicesEmbeddedIE,
  264. MTVIggyIE,
  265. )
  266. from .muenchentv import MuenchenTVIE
  267. from .musicplayon import MusicPlayOnIE
  268. from .musicvault import MusicVaultIE
  269. from .muzu import MuzuTVIE
  270. from .myspace import MySpaceIE, MySpaceAlbumIE
  271. from .myspass import MySpassIE
  272. from .myvideo import MyVideoIE
  273. from .myvidster import MyVidsterIE
  274. from .naver import NaverIE
  275. from .nba import NBAIE
  276. from .nbc import (
  277. NBCIE,
  278. NBCNewsIE,
  279. )
  280. from .ndr import NDRIE
  281. from .ndtv import NDTVIE
  282. from .netzkino import NetzkinoIE
  283. from .nerdcubed import NerdCubedFeedIE
  284. from .newgrounds import NewgroundsIE
  285. from .newstube import NewstubeIE
  286. from .nfb import NFBIE
  287. from .nfl import NFLIE
  288. from .nhl import NHLIE, NHLVideocenterIE
  289. from .niconico import NiconicoIE, NiconicoPlaylistIE
  290. from .ninegag import NineGagIE
  291. from .noco import NocoIE
  292. from .normalboots import NormalbootsIE
  293. from .nosvideo import NosVideoIE
  294. from .novamov import NovaMovIE
  295. from .nowness import NownessIE
  296. from .nowvideo import NowVideoIE
  297. from .npo import (
  298. NPOIE,
  299. NPOLiveIE,
  300. TegenlichtVproIE,
  301. )
  302. from .nrk import (
  303. NRKIE,
  304. NRKTVIE,
  305. )
  306. from .ntv import NTVIE
  307. from .nytimes import NYTimesIE
  308. from .nuvid import NuvidIE
  309. from .oktoberfesttv import OktoberfestTVIE
  310. from .ooyala import OoyalaIE
  311. from .openfilm import OpenFilmIE
  312. from .orf import (
  313. ORFTVthekIE,
  314. ORFOE1IE,
  315. ORFFM4IE,
  316. )
  317. from .parliamentliveuk import ParliamentLiveUKIE
  318. from .patreon import PatreonIE
  319. from .pbs import PBSIE
  320. from .phoenix import PhoenixIE
  321. from .photobucket import PhotobucketIE
  322. from .planetaplay import PlanetaPlayIE
  323. from .played import PlayedIE
  324. from .playfm import PlayFMIE
  325. from .playvid import PlayvidIE
  326. from .podomatic import PodomaticIE
  327. from .pornhd import PornHdIE
  328. from .pornhub import PornHubIE
  329. from .pornotube import PornotubeIE
  330. from .pornoxo import PornoXOIE
  331. from .promptfile import PromptFileIE
  332. from .prosiebensat1 import ProSiebenSat1IE
  333. from .pyvideo import PyvideoIE
  334. from .quickvid import QuickVidIE
  335. from .radiode import RadioDeIE
  336. from .radiobremen import RadioBremenIE
  337. from .radiofrance import RadioFranceIE
  338. from .rai import RaiIE
  339. from .rbmaradio import RBMARadioIE
  340. from .redtube import RedTubeIE
  341. from .restudy import RestudyIE
  342. from .reverbnation import ReverbNationIE
  343. from .ringtv import RingTVIE
  344. from .ro220 import Ro220IE
  345. from .rottentomatoes import RottenTomatoesIE
  346. from .roxwel import RoxwelIE
  347. from .rtbf import RTBFIE
  348. from .rte import RteIE
  349. from .rtlnl import RtlXlIE
  350. from .rtlnow import RTLnowIE
  351. from .rtp import RTPIE
  352. from .rts import RTSIE
  353. from .rtve import RTVEALaCartaIE, RTVELiveIE
  354. from .ruhd import RUHDIE
  355. from .rutube import (
  356. RutubeIE,
  357. RutubeChannelIE,
  358. RutubeEmbedIE,
  359. RutubeMovieIE,
  360. RutubePersonIE,
  361. )
  362. from .rutv import RUTVIE
  363. from .sapo import SapoIE
  364. from .savefrom import SaveFromIE
  365. from .sbs import SBSIE
  366. from .scivee import SciVeeIE
  367. from .screencast import ScreencastIE
  368. from .screencastomatic import ScreencastOMaticIE
  369. from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
  370. from .servingsys import ServingSysIE
  371. from .sexu import SexuIE
  372. from .sexykarma import SexyKarmaIE
  373. from .shared import SharedIE
  374. from .sharesix import ShareSixIE
  375. from .sina import SinaIE
  376. from .slideshare import SlideshareIE
  377. from .slutload import SlutloadIE
  378. from .smotri import (
  379. SmotriIE,
  380. SmotriCommunityIE,
  381. SmotriUserIE,
  382. SmotriBroadcastIE,
  383. )
  384. from .snotr import SnotrIE
  385. from .sockshare import SockshareIE
  386. from .sohu import SohuIE
  387. from .soundcloud import (
  388. SoundcloudIE,
  389. SoundcloudSetIE,
  390. SoundcloudUserIE,
  391. SoundcloudPlaylistIE
  392. )
  393. from .soundgasm import SoundgasmIE
  394. from .southpark import (
  395. SouthParkIE,
  396. SouthparkDeIE,
  397. )
  398. from .space import SpaceIE
  399. from .spankwire import SpankwireIE
  400. from .spiegel import SpiegelIE, SpiegelArticleIE
  401. from .spiegeltv import SpiegeltvIE
  402. from .spike import SpikeIE
  403. from .sport5 import Sport5IE
  404. from .sportbox import SportBoxIE
  405. from .sportdeutschland import SportDeutschlandIE
  406. from .srmediathek import SRMediathekIE
  407. from .stanfordoc import StanfordOpenClassroomIE
  408. from .steam import SteamIE
  409. from .streamcloud import StreamcloudIE
  410. from .streamcz import StreamCZIE
  411. from .sunporno import SunPornoIE
  412. from .swrmediathek import SWRMediathekIE
  413. from .syfy import SyfyIE
  414. from .sztvhu import SztvHuIE
  415. from .tagesschau import TagesschauIE
  416. from .tapely import TapelyIE
  417. from .tass import TassIE
  418. from .teachertube import (
  419. TeacherTubeIE,
  420. TeacherTubeUserIE,
  421. )
  422. from .teachingchannel import TeachingChannelIE
  423. from .teamcoco import TeamcocoIE
  424. from .techtalks import TechTalksIE
  425. from .ted import TEDIE
  426. from .telebruxelles import TeleBruxellesIE
  427. from .telecinco import TelecincoIE
  428. from .telemb import TeleMBIE
  429. from .teletask import TeleTaskIE
  430. from .tenplay import TenPlayIE
  431. from .testurl import TestURLIE
  432. from .tf1 import TF1IE
  433. from .theonion import TheOnionIE
  434. from .theplatform import ThePlatformIE
  435. from .thesixtyone import TheSixtyOneIE
  436. from .thisav import ThisAVIE
  437. from .tinypic import TinyPicIE
  438. from .tlc import TlcIE, TlcDeIE
  439. from .tmz import TMZIE
  440. from .tnaflix import TNAFlixIE
  441. from .thvideo import (
  442. THVideoIE,
  443. THVideoPlaylistIE
  444. )
  445. from .toutv import TouTvIE
  446. from .toypics import ToypicsUserIE, ToypicsIE
  447. from .traileraddict import TrailerAddictIE
  448. from .trilulilu import TriluliluIE
  449. from .trutube import TruTubeIE
  450. from .tube8 import Tube8IE
  451. from .tudou import TudouIE
  452. from .tumblr import TumblrIE
  453. from .tunein import TuneInIE
  454. from .turbo import TurboIE
  455. from .tutv import TutvIE
  456. from .tvigle import TvigleIE
  457. from .tvp import TvpIE, TvpSeriesIE
  458. from .tvplay import TVPlayIE
  459. from .twentyfourvideo import TwentyFourVideoIE
  460. from .twitch import (
  461. TwitchVideoIE,
  462. TwitchChapterIE,
  463. TwitchVodIE,
  464. TwitchProfileIE,
  465. TwitchPastBroadcastsIE,
  466. )
  467. from .ubu import UbuIE
  468. from .udemy import (
  469. UdemyIE,
  470. UdemyCourseIE
  471. )
  472. from .unistra import UnistraIE
  473. from .urort import UrortIE
  474. from .ustream import UstreamIE, UstreamChannelIE
  475. from .vbox7 import Vbox7IE
  476. from .veehd import VeeHDIE
  477. from .veoh import VeohIE
  478. from .vesti import VestiIE
  479. from .vevo import VevoIE
  480. from .vgtv import VGTVIE
  481. from .vh1 import VH1IE
  482. from .vice import ViceIE
  483. from .viddler import ViddlerIE
  484. from .videobam import VideoBamIE
  485. from .videodetective import VideoDetectiveIE
  486. from .videolecturesnet import VideoLecturesNetIE
  487. from .videofyme import VideofyMeIE
  488. from .videomega import VideoMegaIE
  489. from .videopremium import VideoPremiumIE
  490. from .videott import VideoTtIE
  491. from .videoweed import VideoWeedIE
  492. from .vidme import VidmeIE
  493. from .vidzi import VidziIE
  494. from .vier import VierIE, VierVideosIE
  495. from .vimeo import (
  496. VimeoIE,
  497. VimeoAlbumIE,
  498. VimeoChannelIE,
  499. VimeoGroupsIE,
  500. VimeoLikesIE,
  501. VimeoReviewIE,
  502. VimeoUserIE,
  503. VimeoWatchLaterIE,
  504. )
  505. from .vimple import VimpleIE
  506. from .vine import (
  507. VineIE,
  508. VineUserIE,
  509. )
  510. from .viki import VikiIE
  511. from .vk import (
  512. VKIE,
  513. VKUserVideosIE,
  514. )
  515. from .vodlocker import VodlockerIE
  516. from .vporn import VpornIE
  517. from .vrt import VRTIE
  518. from .vube import VubeIE
  519. from .vuclip import VuClipIE
  520. from .vulture import VultureIE
  521. from .walla import WallaIE
  522. from .washingtonpost import WashingtonPostIE
  523. from .wat import WatIE
  524. from .wayofthemaster import WayOfTheMasterIE
  525. from .wdr import (
  526. WDRIE,
  527. WDRMobileIE,
  528. WDRMausIE,
  529. )
  530. from .webofstories import WebOfStoriesIE
  531. from .weibo import WeiboIE
  532. from .wimp import WimpIE
  533. from .wistia import WistiaIE
  534. from .worldstarhiphop import WorldStarHipHopIE
  535. from .wrzuta import WrzutaIE
  536. from .xbef import XBefIE
  537. from .xboxclips import XboxClipsIE
  538. from .xhamster import XHamsterIE
  539. from .xminus import XMinusIE
  540. from .xnxx import XNXXIE
  541. from .xvideos import XVideosIE
  542. from .xtube import XTubeUserIE, XTubeIE
  543. from .xxxymovies import XXXYMoviesIE
  544. from .yahoo import (
  545. YahooIE,
  546. YahooSearchIE,
  547. )
  548. from .yesjapan import YesJapanIE
  549. from .ynet import YnetIE
  550. from .youjizz import YouJizzIE
  551. from .youku import YoukuIE
  552. from .youporn import YouPornIE
  553. from .yourupload import YourUploadIE
  554. from .youtube import (
  555. YoutubeIE,
  556. YoutubeChannelIE,
  557. YoutubeFavouritesIE,
  558. YoutubeHistoryIE,
  559. YoutubePlaylistIE,
  560. YoutubeRecommendedIE,
  561. YoutubeSearchDateIE,
  562. YoutubeSearchIE,
  563. YoutubeSearchURLIE,
  564. YoutubeShowIE,
  565. YoutubeSubscriptionsIE,
  566. YoutubeTruncatedIDIE,
  567. YoutubeTruncatedURLIE,
  568. YoutubeUserIE,
  569. YoutubeWatchLaterIE,
  570. )
  571. from .zdf import ZDFIE, ZDFChannelIE
  572. from .zingmp3 import (
  573. ZingMp3SongIE,
  574. ZingMp3AlbumIE,
  575. )
  576. _ALL_CLASSES = [
  577. klass
  578. for name, klass in globals().items()
  579. if name.endswith('IE') and name != 'GenericIE'
  580. ]
  581. _ALL_CLASSES.append(GenericIE)
  582. def gen_extractors():
  583. """ Return a list of an instance of every supported extractor.
  584. The order does matter; the first extractor matched is the one handling the URL.
  585. """
  586. return [klass() for klass in _ALL_CLASSES]
  587. def list_extractors(age_limit):
  588. """
  589. Return a list of extractors that are suitable for the given age,
  590. sorted by extractor ID.
  591. """
  592. return sorted(
  593. filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
  594. key=lambda ie: ie.IE_NAME.lower())
  595. def get_info_extractor(ie_name):
  596. """Returns the info extractor class with the given ie_name"""
  597. return globals()[ie_name + 'IE']