[wdr] Add support for WDR sites (Closes #1367)
[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 .savefrom import SaveFromIE
200 from .servingsys import ServingSysIE
201 from .sina import SinaIE
202 from .slashdot import SlashdotIE
203 from .slideshare import SlideshareIE
204 from .smotri import (
205     SmotriIE,
206     SmotriCommunityIE,
207     SmotriUserIE,
208     SmotriBroadcastIE,
209 )
210 from .sohu import SohuIE
211 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
212 from .southparkstudios import (
213     SouthParkStudiosIE,
214     SouthparkDeIE,
215 )
216 from .space import SpaceIE
217 from .spankwire import SpankwireIE
218 from .spiegel import SpiegelIE
219 from .spike import SpikeIE
220 from .stanfordoc import StanfordOpenClassroomIE
221 from .statigram import StatigramIE
222 from .steam import SteamIE
223 from .streamcloud import StreamcloudIE
224 from .streamcz import StreamCZIE
225 from .syfy import SyfyIE
226 from .sztvhu import SztvHuIE
227 from .teamcoco import TeamcocoIE
228 from .techtalks import TechTalksIE
229 from .ted import TEDIE
230 from .testurl import TestURLIE
231 from .tf1 import TF1IE
232 from .theplatform import ThePlatformIE
233 from .thisav import ThisAVIE
234 from .tinypic import TinyPicIE
235 from .toutv import TouTvIE
236 from .traileraddict import TrailerAddictIE
237 from .trilulilu import TriluliluIE
238 from .trutube import TruTubeIE
239 from .tube8 import Tube8IE
240 from .tudou import TudouIE
241 from .tumblr import TumblrIE
242 from .tutv import TutvIE
243 from .tvigle import TvigleIE
244 from .tvp import TvpIE
245 from .unistra import UnistraIE
246 from .ustream import UstreamIE, UstreamChannelIE
247 from .vbox7 import Vbox7IE
248 from .veehd import VeeHDIE
249 from .veoh import VeohIE
250 from .vevo import VevoIE
251 from .vgtrk import VGTRKIE
252 from .vice import ViceIE
253 from .viddler import ViddlerIE
254 from .videobam import VideoBamIE
255 from .videodetective import VideoDetectiveIE
256 from .videofyme import VideofyMeIE
257 from .videopremium import VideoPremiumIE
258 from .vimeo import (
259     VimeoIE,
260     VimeoChannelIE,
261     VimeoUserIE,
262     VimeoAlbumIE,
263     VimeoGroupsIE,
264     VimeoReviewIE,
265 )
266 from .vine import VineIE
267 from .viki import VikiIE
268 from .vk import VKIE
269 from .vube import VubeIE
270 from .wat import WatIE
271 from .wdr import WDRIE
272 from .weibo import WeiboIE
273 from .wimp import WimpIE
274 from .wistia import WistiaIE
275 from .worldstarhiphop import WorldStarHipHopIE
276 from .xhamster import XHamsterIE
277 from .xnxx import XNXXIE
278 from .xvideos import XVideosIE
279 from .xtube import XTubeIE
280 from .yahoo import (
281     YahooIE,
282     YahooNewsIE,
283     YahooSearchIE,
284 )
285 from .youjizz import YouJizzIE
286 from .youku import YoukuIE
287 from .youporn import YouPornIE
288 from .youtube import (
289     YoutubeIE,
290     YoutubeChannelIE,
291     YoutubeFavouritesIE,
292     YoutubeHistoryIE,
293     YoutubePlaylistIE,
294     YoutubeRecommendedIE,
295     YoutubeSearchDateIE,
296     YoutubeSearchIE,
297     YoutubeSearchURLIE,
298     YoutubeShowIE,
299     YoutubeSubscriptionsIE,
300     YoutubeTopListIE,
301     YoutubeTruncatedURLIE,
302     YoutubeUserIE,
303     YoutubeWatchLaterIE,
304 )
305 from .zdf import ZDFIE
306
307
308 _ALL_CLASSES = [
309     klass
310     for name, klass in globals().items()
311     if name.endswith('IE') and name != 'GenericIE'
312 ]
313 _ALL_CLASSES.append(GenericIE)
314
315
316 def gen_extractors():
317     """ Return a list of an instance of every supported extractor.
318     The order does matter; the first extractor matched is the one handling the URL.
319     """
320     return [klass() for klass in _ALL_CLASSES]
321
322
323 def get_info_extractor(ie_name):
324     """Returns the info extractor class with the given ie_name"""
325     return globals()[ie_name+'IE']