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