Add an extractor for spike.com (#2072)
[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 .servingsys import ServingSysIE
156 from .sina import SinaIE
157 from .slashdot import SlashdotIE
158 from .slideshare import SlideshareIE
159 from .smotri import (
160     SmotriIE,
161     SmotriCommunityIE,
162     SmotriUserIE,
163     SmotriBroadcastIE,
164 )
165 from .sohu import SohuIE
166 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
167 from .southparkstudios import (
168     SouthParkStudiosIE,
169     SouthparkDeIE,
170 )
171 from .space import SpaceIE
172 from .spankwire import SpankwireIE
173 from .spiegel import SpiegelIE
174 from .spike import SpikeIE
175 from .stanfordoc import StanfordOpenClassroomIE
176 from .statigram import StatigramIE
177 from .steam import SteamIE
178 from .streamcloud import StreamcloudIE
179 from .sztvhu import SztvHuIE
180 from .teamcoco import TeamcocoIE
181 from .techtalks import TechTalksIE
182 from .ted import TEDIE
183 from .tf1 import TF1IE
184 from .theplatform import ThePlatformIE
185 from .thisav import ThisAVIE
186 from .toutv import TouTvIE
187 from .traileraddict import TrailerAddictIE
188 from .trilulilu import TriluliluIE
189 from .tube8 import Tube8IE
190 from .tudou import TudouIE
191 from .tumblr import TumblrIE
192 from .tutv import TutvIE
193 from .tvp import TvpIE
194 from .unistra import UnistraIE
195 from .ustream import UstreamIE, UstreamChannelIE
196 from .vbox7 import Vbox7IE
197 from .veehd import VeeHDIE
198 from .veoh import VeohIE
199 from .vevo import VevoIE
200 from .vice import ViceIE
201 from .viddler import ViddlerIE
202 from .videodetective import VideoDetectiveIE
203 from .videofyme import VideofyMeIE
204 from .videopremium import VideoPremiumIE
205 from .vimeo import (
206     VimeoIE,
207     VimeoChannelIE,
208     VimeoUserIE,
209     VimeoAlbumIE,
210     VimeoGroupsIE,
211     VimeoReviewIE,
212 )
213 from .vine import VineIE
214 from .viki import VikiIE
215 from .vk import VKIE
216 from .wat import WatIE
217 from .websurg import WeBSurgIE
218 from .weibo import WeiboIE
219 from .wimp import WimpIE
220 from .wistia import WistiaIE
221 from .worldstarhiphop import WorldStarHipHopIE
222 from .xhamster import XHamsterIE
223 from .xnxx import XNXXIE
224 from .xvideos import XVideosIE
225 from .xtube import XTubeIE
226 from .yahoo import (
227     YahooIE,
228     YahooNewsIE,
229     YahooSearchIE,
230 )
231 from .youjizz import YouJizzIE
232 from .youku import YoukuIE
233 from .youporn import YouPornIE
234 from .youtube import (
235     YoutubeIE,
236     YoutubePlaylistIE,
237     YoutubeSearchIE,
238     YoutubeSearchDateIE,
239     YoutubeUserIE,
240     YoutubeChannelIE,
241     YoutubeShowIE,
242     YoutubeSubscriptionsIE,
243     YoutubeRecommendedIE,
244     YoutubeTruncatedURLIE,
245     YoutubeWatchLaterIE,
246     YoutubeFavouritesIE,
247     YoutubeHistoryIE,
248     YoutubeTopListIE,
249 )
250 from .zdf import ZDFIE
251
252
253 _ALL_CLASSES = [
254     klass
255     for name, klass in globals().items()
256     if name.endswith('IE') and name != 'GenericIE'
257 ]
258 _ALL_CLASSES.append(GenericIE)
259
260
261 def gen_extractors():
262     """ Return a list of an instance of every supported extractor.
263     The order does matter; the first extractor matched is the one handling the URL.
264     """
265     return [klass() for klass in _ALL_CLASSES]
266
267
268 def get_info_extractor(ie_name):
269     """Returns the info extractor class with the given ie_name"""
270     return globals()[ie_name+'IE']