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