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