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