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