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