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