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