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