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