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