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