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