Merge pull request #2461 from niebles/master
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .academicearth import AcademicEarthCourseIE
2 from .addanime import AddAnimeIE
3 from .anitube import AnitubeIE
4 from .aparat import AparatIE
5 from .appletrailers import AppleTrailersIE
6 from .archiveorg import ArchiveOrgIE
7 from .ard import ARDIE
8 from .arte import (
9     ArteTvIE,
10     ArteTVPlus7IE,
11     ArteTVCreativeIE,
12     ArteTVFutureIE,
13     ArteTVDDCIE,
14 )
15 from .auengine import AUEngineIE
16 from .bambuser import BambuserIE, BambuserChannelIE
17 from .bandcamp import BandcampIE, BandcampAlbumIE
18 from .bbccouk import BBCCoUkIE
19 from .blinkx import BlinkxIE
20 from .bliptv import BlipTVIE, BlipTVUserIE
21 from .bloomberg import BloombergIE
22 from .br import BRIE
23 from .breakcom import BreakIE
24 from .brightcove import BrightcoveIE
25 from .c56 import C56IE
26 from .canalplus import CanalplusIE
27 from .canalc2 import Canalc2IE
28 from .cbs import CBSIE
29 from .channel9 import Channel9IE
30 from .chilloutzone import ChilloutzoneIE
31 from .cinemassacre import CinemassacreIE
32 from .clipfish import ClipfishIE
33 from .cliphunter import CliphunterIE
34 from .clipsyndicate import ClipsyndicateIE
35 from .cmt import CMTIE
36 from .cnn import (
37     CNNIE,
38     CNNBlogsIE,
39 )
40 from .collegehumor import CollegeHumorIE
41 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
42 from .condenast import CondeNastIE
43 from .criterion import CriterionIE
44 from .crunchyroll import CrunchyrollIE
45 from .cspan import CSpanIE
46 from .d8 import D8IE
47 from .dailymotion import (
48     DailymotionIE,
49     DailymotionPlaylistIE,
50     DailymotionUserIE,
51 )
52 from .daum import DaumIE
53 from .depositfiles import DepositFilesIE
54 from .dotsub import DotsubIE
55 from .dreisat import DreiSatIE
56 from .defense import DefenseGouvFrIE
57 from .discovery import DiscoveryIE
58 from .dropbox import DropboxIE
59 from .ebaumsworld import EbaumsWorldIE
60 from .ehow import EHowIE
61 from .eighttracks import EightTracksIE
62 from .eitb import EitbIE
63 from .elpais import ElPaisIE
64 from .escapist import EscapistIE
65 from .everyonesmixtape import EveryonesMixtapeIE
66 from .exfm import ExfmIE
67 from .extremetube import ExtremeTubeIE
68 from .facebook import FacebookIE
69 from .faz import FazIE
70 from .firstpost import FirstpostIE
71 from .firsttv import FirstTVIE
72 from .fktv import (
73     FKTVIE,
74     FKTVPosteckeIE,
75 )
76 from .flickr import FlickrIE
77 from .fourtube import FourTubeIE
78 from .franceinter import FranceInterIE
79 from .francetv import (
80     PluzzIE,
81     FranceTvInfoIE,
82     FranceTVIE,
83     GenerationQuoiIE,
84     CultureboxIE,
85 )
86 from .freesound import FreesoundIE
87 from .freespeech import FreespeechIE
88 from .funnyordie import FunnyOrDieIE
89 from .gamekings import GamekingsIE
90 from .gamespot import GameSpotIE
91 from .gametrailers import GametrailersIE
92 from .generic import GenericIE
93 from .googleplus import GooglePlusIE
94 from .googlesearch import GoogleSearchIE
95 from .hark import HarkIE
96 from .helsinki import HelsinkiIE
97 from .hotnewhiphop import HotNewHipHopIE
98 from .howcast import HowcastIE
99 from .huffpost import HuffPostIE
100 from .hypem import HypemIE
101 from .ign import IGNIE, OneUPIE
102 from .imdb import (
103     ImdbIE,
104     ImdbListIE
105 )
106 from .ina import InaIE
107 from .infoq import InfoQIE
108 from .instagram import InstagramIE
109 from .internetvideoarchive import InternetVideoArchiveIE
110 from .iprima import IPrimaIE
111 from .ivi import (
112     IviIE,
113     IviCompilationIE
114 )
115 from .jadorecettepub import JadoreCettePubIE
116 from .jeuxvideo import JeuxVideoIE
117 from .jukebox import JukeboxIE
118 from .justintv import JustinTVIE
119 from .jpopsukitv import JpopsukiIE
120 from .kankan import KankanIE
121 from .keezmovies import KeezMoviesIE
122 from .khanacademy import KhanAcademyIE
123 from .kickstarter import KickStarterIE
124 from .keek import KeekIE
125 from .kontrtube import KontrTubeIE
126 from .la7 import LA7IE
127 from .lifenews import LifeNewsIE
128 from .liveleak import LiveLeakIE
129 from .livestream import LivestreamIE, LivestreamOriginalIE
130 from .lynda import (
131     LyndaIE,
132     LyndaCourseIE
133 )
134 from .m6 import M6IE
135 from .macgamestore import MacGameStoreIE
136 from .malemotion import MalemotionIE
137 from .mdr import MDRIE
138 from .metacafe import MetacafeIE
139 from .metacritic import MetacriticIE
140 from .mit import TechTVMITIE, MITIE
141 from .mixcloud import MixcloudIE
142 from .mpora import MporaIE
143 from .mofosex import MofosexIE
144 from .mooshare import MooshareIE
145 from .mtv import (
146     MTVIE,
147     MTVIggyIE,
148 )
149 from .muzu import MuzuTVIE
150 from .myspace import MySpaceIE
151 from .myspass import MySpassIE
152 from .myvideo import MyVideoIE
153 from .naver import NaverIE
154 from .nba import NBAIE
155 from .nbc import (
156     NBCIE,
157     NBCNewsIE,
158 )
159 from .ndr import NDRIE
160 from .ndtv import NDTVIE
161 from .newgrounds import NewgroundsIE
162 from .nfb import NFBIE
163 from .nhl import NHLIE, NHLVideocenterIE
164 from .niconico import NiconicoIE
165 from .ninegag import NineGagIE
166 from .normalboots import NormalbootsIE
167 from .novamov import NovaMovIE
168 from .nowness import NownessIE
169 from .nowvideo import NowVideoIE
170 from .ooyala import OoyalaIE
171 from .orf import ORFIE
172 from .pbs import PBSIE
173 from .photobucket import PhotobucketIE
174 from .podomatic import PodomaticIE
175 from .pornhd import PornHdIE
176 from .pornhub import PornHubIE
177 from .pornotube import PornotubeIE
178 from .pyvideo import PyvideoIE
179 from .radiofrance import RadioFranceIE
180 from .rbmaradio import RBMARadioIE
181 from .redtube import RedTubeIE
182 from .ringtv import RingTVIE
183 from .ro220 import Ro220IE
184 from .rottentomatoes import RottenTomatoesIE
185 from .roxwel import RoxwelIE
186 from .rtlnow import RTLnowIE
187 from .rutube import (
188     RutubeIE,
189     RutubeChannelIE,
190     RutubeMovieIE,
191     RutubePersonIE,
192 )
193 from .savefrom import SaveFromIE
194 from .servingsys import ServingSysIE
195 from .sina import SinaIE
196 from .slashdot import SlashdotIE
197 from .slideshare import SlideshareIE
198 from .smotri import (
199     SmotriIE,
200     SmotriCommunityIE,
201     SmotriUserIE,
202     SmotriBroadcastIE,
203 )
204 from .sohu import SohuIE
205 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
206 from .southparkstudios import (
207     SouthParkStudiosIE,
208     SouthparkDeIE,
209 )
210 from .space import SpaceIE
211 from .spankwire import SpankwireIE
212 from .spiegel import SpiegelIE
213 from .spike import SpikeIE
214 from .stanfordoc import StanfordOpenClassroomIE
215 from .statigram import StatigramIE
216 from .steam import SteamIE
217 from .streamcloud import StreamcloudIE
218 from .streamcz import StreamCZIE
219 from .syfy import SyfyIE
220 from .sztvhu import SztvHuIE
221 from .teamcoco import TeamcocoIE
222 from .techtalks import TechTalksIE
223 from .ted import TEDIE
224 from .testurl import TestURLIE
225 from .tf1 import TF1IE
226 from .theplatform import ThePlatformIE
227 from .thisav import ThisAVIE
228 from .tinypic import TinyPicIE
229 from .toutv import TouTvIE
230 from .traileraddict import TrailerAddictIE
231 from .trilulilu import TriluliluIE
232 from .trutube import TruTubeIE
233 from .tube8 import Tube8IE
234 from .tudou import TudouIE
235 from .tumblr import TumblrIE
236 from .tutv import TutvIE
237 from .tvp import TvpIE
238 from .unistra import UnistraIE
239 from .ustream import UstreamIE, UstreamChannelIE
240 from .vbox7 import Vbox7IE
241 from .veehd import VeeHDIE
242 from .veoh import VeohIE
243 from .vesti import VestiIE
244 from .vevo import VevoIE
245 from .vice import ViceIE
246 from .viddler import ViddlerIE
247 from .videobam import VideoBamIE
248 from .videodetective import VideoDetectiveIE
249 from .videofyme import VideofyMeIE
250 from .videopremium import VideoPremiumIE
251 from .vimeo import (
252     VimeoIE,
253     VimeoChannelIE,
254     VimeoUserIE,
255     VimeoAlbumIE,
256     VimeoGroupsIE,
257     VimeoReviewIE,
258 )
259 from .vine import VineIE
260 from .viki import VikiIE
261 from .vk import VKIE
262 from .vube import VubeIE
263 from .wat import WatIE
264 from .weibo import WeiboIE
265 from .wimp import WimpIE
266 from .wistia import WistiaIE
267 from .worldstarhiphop import WorldStarHipHopIE
268 from .xhamster import XHamsterIE
269 from .xnxx import XNXXIE
270 from .xvideos import XVideosIE
271 from .xtube import XTubeIE
272 from .yahoo import (
273     YahooIE,
274     YahooNewsIE,
275     YahooSearchIE,
276 )
277 from .youjizz import YouJizzIE
278 from .youku import YoukuIE
279 from .youporn import YouPornIE
280 from .youtube import (
281     YoutubeIE,
282     YoutubePlaylistIE,
283     YoutubeSearchIE,
284     YoutubeSearchDateIE,
285     YoutubeUserIE,
286     YoutubeChannelIE,
287     YoutubeShowIE,
288     YoutubeSubscriptionsIE,
289     YoutubeRecommendedIE,
290     YoutubeTruncatedURLIE,
291     YoutubeWatchLaterIE,
292     YoutubeFavouritesIE,
293     YoutubeHistoryIE,
294     YoutubeTopListIE,
295 )
296 from .zdf import ZDFIE
297
298
299 _ALL_CLASSES = [
300     klass
301     for name, klass in globals().items()
302     if name.endswith('IE') and name != 'GenericIE'
303 ]
304 _ALL_CLASSES.append(GenericIE)
305
306
307 def gen_extractors():
308     """ Return a list of an instance of every supported extractor.
309     The order does matter; the first extractor matched is the one handling the URL.
310     """
311     return [klass() for klass in _ALL_CLASSES]
312
313
314 def get_info_extractor(ie_name):
315     """Returns the info extractor class with the given ie_name"""
316     return globals()[ie_name+'IE']