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