Merge remote-tracking branch 'ralfharing/vh1'
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .academicearth import AcademicEarthCourseIE
2 from .addanime import AddAnimeIE
3 from .aftonbladet import AftonbladetIE
4 from .anitube import AnitubeIE
5 from .aol import AolIE
6 from .aparat import AparatIE
7 from .appletrailers import AppleTrailersIE
8 from .archiveorg import ArchiveOrgIE
9 from .ard import ARDIE
10 from .arte import (
11     ArteTvIE,
12     ArteTVPlus7IE,
13     ArteTVCreativeIE,
14     ArteTVConcertIE,
15     ArteTVFutureIE,
16     ArteTVDDCIE,
17     ArteTVEmbedIE,
18 )
19 from .auengine import AUEngineIE
20 from .bambuser import BambuserIE, BambuserChannelIE
21 from .bandcamp import BandcampIE, BandcampAlbumIE
22 from .bbccouk import BBCCoUkIE
23 from .bilibili import BiliBiliIE
24 from .blinkx import BlinkxIE
25 from .bliptv import BlipTVIE, BlipTVUserIE
26 from .bloomberg import BloombergIE
27 from .br import BRIE
28 from .breakcom import BreakIE
29 from .brightcove import BrightcoveIE
30 from .byutv import BYUtvIE
31 from .c56 import C56IE
32 from .canal13cl import Canal13clIE
33 from .canalplus import CanalplusIE
34 from .canalc2 import Canalc2IE
35 from .cbs import CBSIE
36 from .cbsnews import CBSNewsIE
37 from .ceskatelevize import CeskaTelevizeIE
38 from .channel9 import Channel9IE
39 from .chilloutzone import ChilloutzoneIE
40 from .cinemassacre import CinemassacreIE
41 from .clipfish import ClipfishIE
42 from .cliphunter import CliphunterIE
43 from .clipsyndicate import ClipsyndicateIE
44 from .clubic import ClubicIE
45 from .cmt import CMTIE
46 from .cnet import CNETIE
47 from .cnn import (
48     CNNIE,
49     CNNBlogsIE,
50 )
51 from .collegehumor import CollegeHumorIE
52 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
53 from .condenast import CondeNastIE
54 from .criterion import CriterionIE
55 from .crunchyroll import CrunchyrollIE
56 from .cspan import CSpanIE
57 from .d8 import D8IE
58 from .dailymotion import (
59     DailymotionIE,
60     DailymotionPlaylistIE,
61     DailymotionUserIE,
62 )
63 from .daum import DaumIE
64 from .dotsub import DotsubIE
65 from .dreisat import DreiSatIE
66 from .defense import DefenseGouvFrIE
67 from .discovery import DiscoveryIE
68 from .divxstage import DivxStageIE
69 from .dropbox import DropboxIE
70 from .ebaumsworld import EbaumsWorldIE
71 from .ehow import EHowIE
72 from .eighttracks import EightTracksIE
73 from .eitb import EitbIE
74 from .elpais import ElPaisIE
75 from .empflix import EmpflixIE
76 from .engadget import EngadgetIE
77 from .escapist import EscapistIE
78 from .everyonesmixtape import EveryonesMixtapeIE
79 from .exfm import ExfmIE
80 from .extremetube import ExtremeTubeIE
81 from .facebook import FacebookIE
82 from .faz import FazIE
83 from .fc2 import FC2IE
84 from .firstpost import FirstpostIE
85 from .firsttv import FirstTVIE
86 from .fivemin import FiveMinIE
87 from .fktv import (
88     FKTVIE,
89     FKTVPosteckeIE,
90 )
91 from .flickr import FlickrIE
92 from .fourtube import FourTubeIE
93 from .franceculture import FranceCultureIE
94 from .franceinter import FranceInterIE
95 from .francetv import (
96     PluzzIE,
97     FranceTvInfoIE,
98     FranceTVIE,
99     GenerationQuoiIE,
100     CultureboxIE,
101 )
102 from .freesound import FreesoundIE
103 from .freespeech import FreespeechIE
104 from .funnyordie import FunnyOrDieIE
105 from .gamekings import GamekingsIE
106 from .gamespot import GameSpotIE
107 from .gametrailers import GametrailersIE
108 from .gdcvault import GDCVaultIE
109 from .generic import GenericIE
110 from .googleplus import GooglePlusIE
111 from .googlesearch import GoogleSearchIE
112 from .hark import HarkIE
113 from .helsinki import HelsinkiIE
114 from .hentaistigma import HentaiStigmaIE
115 from .hotnewhiphop import HotNewHipHopIE
116 from .howcast import HowcastIE
117 from .huffpost import HuffPostIE
118 from .hypem import HypemIE
119 from .iconosquare import IconosquareIE
120 from .ign import IGNIE, OneUPIE
121 from .imdb import (
122     ImdbIE,
123     ImdbListIE
124 )
125 from .ina import InaIE
126 from .infoq import InfoQIE
127 from .instagram import InstagramIE, InstagramUserIE
128 from .internetvideoarchive import InternetVideoArchiveIE
129 from .iprima import IPrimaIE
130 from .ivi import (
131     IviIE,
132     IviCompilationIE
133 )
134 from .jadorecettepub import JadoreCettePubIE
135 from .jeuxvideo import JeuxVideoIE
136 from .jukebox import JukeboxIE
137 from .justintv import JustinTVIE
138 from .jpopsukitv import JpopsukiIE
139 from .kankan import KankanIE
140 from .keezmovies import KeezMoviesIE
141 from .khanacademy import KhanAcademyIE
142 from .kickstarter import KickStarterIE
143 from .keek import KeekIE
144 from .kontrtube import KontrTubeIE
145 from .ku6 import Ku6IE
146 from .la7 import LA7IE
147 from .lifenews import LifeNewsIE
148 from .liveleak import LiveLeakIE
149 from .livestream import LivestreamIE, LivestreamOriginalIE
150 from .lynda import (
151     LyndaIE,
152     LyndaCourseIE
153 )
154 from .m6 import M6IE
155 from .macgamestore import MacGameStoreIE
156 from .mailru import MailRuIE
157 from .malemotion import MalemotionIE
158 from .mdr import MDRIE
159 from .metacafe import MetacafeIE
160 from .metacritic import MetacriticIE
161 from .mit import TechTVMITIE, MITIE, OCWMITIE
162 from .mixcloud import MixcloudIE
163 from .mpora import MporaIE
164 from .mofosex import MofosexIE
165 from .mooshare import MooshareIE
166 from .morningstar import MorningstarIE
167 from .motorsport import MotorsportIE
168 from .moviezine import MoviezineIE
169 from .movshare import MovShareIE
170 from .mtv import (
171     MTVIE,
172     MTVIggyIE,
173 )
174 from .musicplayon import MusicPlayOnIE
175 from .muzu import MuzuTVIE
176 from .myspace import MySpaceIE
177 from .myspass import MySpassIE
178 from .myvideo import MyVideoIE
179 from .naver import NaverIE
180 from .nba import NBAIE
181 from .nbc import (
182     NBCIE,
183     NBCNewsIE,
184 )
185 from .ndr import NDRIE
186 from .ndtv import NDTVIE
187 from .newgrounds import NewgroundsIE
188 from .newstube import NewstubeIE
189 from .nfb import NFBIE
190 from .nhl import NHLIE, NHLVideocenterIE
191 from .niconico import NiconicoIE
192 from .ninegag import NineGagIE
193 from .noco import NocoIE
194 from .normalboots import NormalbootsIE
195 from .novamov import NovaMovIE
196 from .nowness import NownessIE
197 from .nowvideo import NowVideoIE
198 from .nrk import (
199     NRKIE,
200     NRKTVIE,
201 )
202 from .ntv import NTVIE
203 from .nytimes import NYTimesIE
204 from .nuvid import NuvidIE
205 from .oe1 import OE1IE
206 from .ooyala import OoyalaIE
207 from .orf import ORFIE
208 from .parliamentliveuk import ParliamentLiveUKIE
209 from .pbs import PBSIE
210 from .photobucket import PhotobucketIE
211 from .playvid import PlayvidIE
212 from .podomatic import PodomaticIE
213 from .pornhd import PornHdIE
214 from .pornhub import PornHubIE
215 from .pornotube import PornotubeIE
216 from .prosiebensat1 import ProSiebenSat1IE
217 from .pyvideo import PyvideoIE
218 from .radiofrance import RadioFranceIE
219 from .rbmaradio import RBMARadioIE
220 from .redtube import RedTubeIE
221 from .ringtv import RingTVIE
222 from .ro220 import Ro220IE
223 from .rottentomatoes import RottenTomatoesIE
224 from .roxwel import RoxwelIE
225 from .rtbf import RTBFIE
226 from .rtlnow import RTLnowIE
227 from .rts import RTSIE
228 from .rtve import RTVEALaCartaIE
229 from .rutube import (
230     RutubeIE,
231     RutubeChannelIE,
232     RutubeMovieIE,
233     RutubePersonIE,
234 )
235 from .rutv import RUTVIE
236 from .savefrom import SaveFromIE
237 from .scivee import SciVeeIE
238 from .servingsys import ServingSysIE
239 from .sina import SinaIE
240 from .slideshare import SlideshareIE
241 from .slutload import SlutloadIE
242 from .smotri import (
243     SmotriIE,
244     SmotriCommunityIE,
245     SmotriUserIE,
246     SmotriBroadcastIE,
247 )
248 from .sohu import SohuIE
249 from .soundcloud import (
250     SoundcloudIE,
251     SoundcloudSetIE,
252     SoundcloudUserIE,
253     SoundcloudPlaylistIE
254 )
255 from .southparkstudios import (
256     SouthParkStudiosIE,
257     SouthparkDeIE,
258 )
259 from .space import SpaceIE
260 from .spankwire import SpankwireIE
261 from .spiegel import SpiegelIE
262 from .spiegeltv import SpiegeltvIE
263 from .spike import SpikeIE
264 from .stanfordoc import StanfordOpenClassroomIE
265 from .steam import SteamIE
266 from .streamcloud import StreamcloudIE
267 from .streamcz import StreamCZIE
268 from .swrmediathek import SWRMediathekIE
269 from .syfy import SyfyIE
270 from .sztvhu import SztvHuIE
271 from .tagesschau import TagesschauIE
272 from .teachertube import (
273     TeacherTubeIE,
274     TeacherTubeClassroomIE,
275 )
276 from .teachingchannel import TeachingChannelIE
277 from .teamcoco import TeamcocoIE
278 from .techtalks import TechTalksIE
279 from .ted import TEDIE
280 from .testurl import TestURLIE
281 from .tf1 import TF1IE
282 from .theplatform import ThePlatformIE
283 from .thisav import ThisAVIE
284 from .tinypic import TinyPicIE
285 from .tlc import TlcIE, TlcDeIE
286 from .toutv import TouTvIE
287 from .toypics import ToypicsUserIE, ToypicsIE
288 from .traileraddict import TrailerAddictIE
289 from .trilulilu import TriluliluIE
290 from .trutube import TruTubeIE
291 from .tube8 import Tube8IE
292 from .tudou import TudouIE
293 from .tumblr import TumblrIE
294 from .tutv import TutvIE
295 from .tvigle import TvigleIE
296 from .tvp import TvpIE
297 from .udemy import (
298     UdemyIE,
299     UdemyCourseIE
300 )
301 from .unistra import UnistraIE
302 from .urort import UrortIE
303 from .ustream import UstreamIE, UstreamChannelIE
304 from .vbox7 import Vbox7IE
305 from .veehd import VeeHDIE
306 from .veoh import VeohIE
307 from .vesti import VestiIE
308 from .vevo import VevoIE
309 from .vh1 import (
310     VH1EpisodeIE,
311     VH1ClipIE,
312     VH1ShortUrlIE,
313     VH1MusicVideoIE
314 )
315 from .viddler import ViddlerIE
316 from .videobam import VideoBamIE
317 from .videodetective import VideoDetectiveIE
318 from .videolecturesnet import VideoLecturesNetIE
319 from .videofyme import VideofyMeIE
320 from .videopremium import VideoPremiumIE
321 from .videott import VideoTtIE
322 from .videoweed import VideoWeedIE
323 from .vimeo import (
324     VimeoIE,
325     VimeoChannelIE,
326     VimeoUserIE,
327     VimeoAlbumIE,
328     VimeoGroupsIE,
329     VimeoReviewIE,
330     VimeoWatchLaterIE,
331 )
332 from .vine import (
333     VineIE,
334     VineUserIE,
335 )
336 from .viki import VikiIE
337 from .vk import VKIE
338 from .vube import VubeIE
339 from .vuclip import VuClipIE
340 from .washingtonpost import WashingtonPostIE
341 from .wat import WatIE
342 from .wdr import (
343     WDRIE,
344     WDRMobileIE,
345     WDRMausIE,
346 )
347 from .weibo import WeiboIE
348 from .wimp import WimpIE
349 from .wistia import WistiaIE
350 from .worldstarhiphop import WorldStarHipHopIE
351 from .xbef import XBefIE
352 from .xhamster import XHamsterIE
353 from .xnxx import XNXXIE
354 from .xvideos import XVideosIE
355 from .xtube import XTubeUserIE, XTubeIE
356 from .yahoo import (
357     YahooIE,
358     YahooNewsIE,
359     YahooSearchIE,
360 )
361 from .youjizz import YouJizzIE
362 from .youku import YoukuIE
363 from .youporn import YouPornIE
364 from .youtube import (
365     YoutubeIE,
366     YoutubeChannelIE,
367     YoutubeFavouritesIE,
368     YoutubeHistoryIE,
369     YoutubePlaylistIE,
370     YoutubeRecommendedIE,
371     YoutubeSearchDateIE,
372     YoutubeSearchIE,
373     YoutubeSearchURLIE,
374     YoutubeShowIE,
375     YoutubeSubscriptionsIE,
376     YoutubeTopListIE,
377     YoutubeTruncatedURLIE,
378     YoutubeUserIE,
379     YoutubeWatchLaterIE,
380 )
381 from .zdf import ZDFIE
382
383
384 _ALL_CLASSES = [
385     klass
386     for name, klass in globals().items()
387     if name.endswith('IE') and name != 'GenericIE'
388 ]
389 _ALL_CLASSES.append(GenericIE)
390
391
392 def gen_extractors():
393     """ Return a list of an instance of every supported extractor.
394     The order does matter; the first extractor matched is the one handling the URL.
395     """
396     return [klass() for klass in _ALL_CLASSES]
397
398
399 def get_info_extractor(ie_name):
400     """Returns the info extractor class with the given ie_name"""
401     return globals()[ie_name+'IE']