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