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