[npo] Add extractor (closes #3145)
[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 .gorillavid import GorillaVidIE
113 from .hark import HarkIE
114 from .helsinki import HelsinkiIE
115 from .hentaistigma import HentaiStigmaIE
116 from .hotnewhiphop import HotNewHipHopIE
117 from .howcast import HowcastIE
118 from .huffpost import HuffPostIE
119 from .hypem import HypemIE
120 from .iconosquare import IconosquareIE
121 from .ign import IGNIE, OneUPIE
122 from .imdb import (
123     ImdbIE,
124     ImdbListIE
125 )
126 from .ina import InaIE
127 from .infoq import InfoQIE
128 from .instagram import InstagramIE, InstagramUserIE
129 from .internetvideoarchive import InternetVideoArchiveIE
130 from .iprima import IPrimaIE
131 from .ivi import (
132     IviIE,
133     IviCompilationIE
134 )
135 from .jadorecettepub import JadoreCettePubIE
136 from .jeuxvideo import JeuxVideoIE
137 from .jukebox import JukeboxIE
138 from .justintv import JustinTVIE
139 from .jpopsukitv import JpopsukiIE
140 from .kankan import KankanIE
141 from .keezmovies import KeezMoviesIE
142 from .khanacademy import KhanAcademyIE
143 from .kickstarter import KickStarterIE
144 from .keek import KeekIE
145 from .kontrtube import KontrTubeIE
146 from .ku6 import Ku6IE
147 from .la7 import LA7IE
148 from .lifenews import LifeNewsIE
149 from .liveleak import LiveLeakIE
150 from .livestream import (
151     LivestreamIE,
152     LivestreamOriginalIE,
153     LivestreamShortenerIE,
154 )
155 from .lynda import (
156     LyndaIE,
157     LyndaCourseIE
158 )
159 from .m6 import M6IE
160 from .macgamestore import MacGameStoreIE
161 from .mailru import MailRuIE
162 from .malemotion import MalemotionIE
163 from .mdr import MDRIE
164 from .metacafe import MetacafeIE
165 from .metacritic import MetacriticIE
166 from .mit import TechTVMITIE, MITIE, OCWMITIE
167 from .mixcloud import MixcloudIE
168 from .mpora import MporaIE
169 from .mofosex import MofosexIE
170 from .mooshare import MooshareIE
171 from .morningstar import MorningstarIE
172 from .motorsport import MotorsportIE
173 from .moviezine import MoviezineIE
174 from .movshare import MovShareIE
175 from .mtv import (
176     MTVIE,
177     MTVServicesEmbeddedIE,
178     MTVIggyIE,
179 )
180 from .musicplayon import MusicPlayOnIE
181 from .muzu import MuzuTVIE
182 from .myspace import MySpaceIE
183 from .myspass import MySpassIE
184 from .myvideo import MyVideoIE
185 from .naver import NaverIE
186 from .nba import NBAIE
187 from .nbc import (
188     NBCIE,
189     NBCNewsIE,
190 )
191 from .ndr import NDRIE
192 from .ndtv import NDTVIE
193 from .newgrounds import NewgroundsIE
194 from .newstube import NewstubeIE
195 from .nfb import NFBIE
196 from .nhl import NHLIE, NHLVideocenterIE
197 from .niconico import NiconicoIE
198 from .ninegag import NineGagIE
199 from .noco import NocoIE
200 from .normalboots import NormalbootsIE
201 from .novamov import NovaMovIE
202 from .nowness import NownessIE
203 from .nowvideo import NowVideoIE
204 from .npo import NPOIE
205 from .nrk import (
206     NRKIE,
207     NRKTVIE,
208 )
209 from .ntv import NTVIE
210 from .nytimes import NYTimesIE
211 from .nuvid import NuvidIE
212 from .oe1 import OE1IE
213 from .ooyala import OoyalaIE
214 from .orf import ORFIE
215 from .parliamentliveuk import ParliamentLiveUKIE
216 from .pbs import PBSIE
217 from .photobucket import PhotobucketIE
218 from .playvid import PlayvidIE
219 from .podomatic import PodomaticIE
220 from .pornhd import PornHdIE
221 from .pornhub import PornHubIE
222 from .pornotube import PornotubeIE
223 from .prosiebensat1 import ProSiebenSat1IE
224 from .pyvideo import PyvideoIE
225 from .radiofrance import RadioFranceIE
226 from .rai import RaiIE
227 from .rbmaradio import RBMARadioIE
228 from .redtube import RedTubeIE
229 from .ringtv import RingTVIE
230 from .ro220 import Ro220IE
231 from .rottentomatoes import RottenTomatoesIE
232 from .roxwel import RoxwelIE
233 from .rtbf import RTBFIE
234 from .rtlnow import RTLnowIE
235 from .rts import RTSIE
236 from .rtve import RTVEALaCartaIE
237 from .rutube import (
238     RutubeIE,
239     RutubeChannelIE,
240     RutubeMovieIE,
241     RutubePersonIE,
242 )
243 from .rutv import RUTVIE
244 from .savefrom import SaveFromIE
245 from .scivee import SciVeeIE
246 from .servingsys import ServingSysIE
247 from .sina import SinaIE
248 from .slideshare import SlideshareIE
249 from .slutload import SlutloadIE
250 from .smotri import (
251     SmotriIE,
252     SmotriCommunityIE,
253     SmotriUserIE,
254     SmotriBroadcastIE,
255 )
256 from .sohu import SohuIE
257 from .soundcloud import (
258     SoundcloudIE,
259     SoundcloudSetIE,
260     SoundcloudUserIE,
261     SoundcloudPlaylistIE
262 )
263 from .soundgasm import SoundgasmIE
264 from .southparkstudios import (
265     SouthParkStudiosIE,
266     SouthparkDeIE,
267 )
268 from .space import SpaceIE
269 from .spankwire import SpankwireIE
270 from .spiegel import SpiegelIE
271 from .spiegeltv import SpiegeltvIE
272 from .spike import SpikeIE
273 from .stanfordoc import StanfordOpenClassroomIE
274 from .steam import SteamIE
275 from .streamcloud import StreamcloudIE
276 from .streamcz import StreamCZIE
277 from .swrmediathek import SWRMediathekIE
278 from .syfy import SyfyIE
279 from .sztvhu import SztvHuIE
280 from .tagesschau import TagesschauIE
281 from .teachertube import (
282     TeacherTubeIE,
283     TeacherTubeClassroomIE,
284 )
285 from .teachingchannel import TeachingChannelIE
286 from .teamcoco import TeamcocoIE
287 from .techtalks import TechTalksIE
288 from .ted import TEDIE
289 from .testurl import TestURLIE
290 from .tf1 import TF1IE
291 from .theplatform import ThePlatformIE
292 from .thisav import ThisAVIE
293 from .tinypic import TinyPicIE
294 from .tlc import TlcIE, TlcDeIE
295 from .toutv import TouTvIE
296 from .toypics import ToypicsUserIE, ToypicsIE
297 from .traileraddict import TrailerAddictIE
298 from .trilulilu import TriluliluIE
299 from .trutube import TruTubeIE
300 from .tube8 import Tube8IE
301 from .tudou import TudouIE
302 from .tumblr import TumblrIE
303 from .tutv import TutvIE
304 from .tvigle import TvigleIE
305 from .tvp import TvpIE
306 from .udemy import (
307     UdemyIE,
308     UdemyCourseIE
309 )
310 from .unistra import UnistraIE
311 from .urort import UrortIE
312 from .ustream import UstreamIE, UstreamChannelIE
313 from .vbox7 import Vbox7IE
314 from .veehd import VeeHDIE
315 from .veoh import VeohIE
316 from .vesti import VestiIE
317 from .vevo import VevoIE
318 from .vh1 import VH1IE
319 from .viddler import ViddlerIE
320 from .videobam import VideoBamIE
321 from .videodetective import VideoDetectiveIE
322 from .videolecturesnet import VideoLecturesNetIE
323 from .videofyme import VideofyMeIE
324 from .videopremium import VideoPremiumIE
325 from .videott import VideoTtIE
326 from .videoweed import VideoWeedIE
327 from .vimeo import (
328     VimeoIE,
329     VimeoChannelIE,
330     VimeoUserIE,
331     VimeoAlbumIE,
332     VimeoGroupsIE,
333     VimeoReviewIE,
334     VimeoWatchLaterIE,
335 )
336 from .vine import (
337     VineIE,
338     VineUserIE,
339 )
340 from .viki import VikiIE
341 from .vk import VKIE
342 from .vube import VubeIE
343 from .vuclip import VuClipIE
344 from .vulture import VultureIE
345 from .washingtonpost import WashingtonPostIE
346 from .wat import WatIE
347 from .wdr import (
348     WDRIE,
349     WDRMobileIE,
350     WDRMausIE,
351 )
352 from .weibo import WeiboIE
353 from .wimp import WimpIE
354 from .wistia import WistiaIE
355 from .worldstarhiphop import WorldStarHipHopIE
356 from .wrzuta import WrzutaIE
357 from .xbef import XBefIE
358 from .xhamster import XHamsterIE
359 from .xnxx import XNXXIE
360 from .xvideos import XVideosIE
361 from .xtube import XTubeUserIE, XTubeIE
362 from .yahoo import (
363     YahooIE,
364     YahooNewsIE,
365     YahooSearchIE,
366 )
367 from .youjizz import YouJizzIE
368 from .youku import YoukuIE
369 from .youporn import YouPornIE
370 from .youtube import (
371     YoutubeIE,
372     YoutubeChannelIE,
373     YoutubeFavouritesIE,
374     YoutubeHistoryIE,
375     YoutubePlaylistIE,
376     YoutubeRecommendedIE,
377     YoutubeSearchDateIE,
378     YoutubeSearchIE,
379     YoutubeSearchURLIE,
380     YoutubeShowIE,
381     YoutubeSubscriptionsIE,
382     YoutubeTopListIE,
383     YoutubeTruncatedURLIE,
384     YoutubeUserIE,
385     YoutubeWatchLaterIE,
386 )
387 from .zdf import ZDFIE
388
389
390 _ALL_CLASSES = [
391     klass
392     for name, klass in globals().items()
393     if name.endswith('IE') and name != 'GenericIE'
394 ]
395 _ALL_CLASSES.append(GenericIE)
396
397
398 def gen_extractors():
399     """ Return a list of an instance of every supported extractor.
400     The order does matter; the first extractor matched is the one handling the URL.
401     """
402     return [klass() for klass in _ALL_CLASSES]
403
404
405 def get_info_extractor(ie_name):
406     """Returns the info extractor class with the given ie_name"""
407     return globals()[ie_name+'IE']