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