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.

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