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