Merge remote-tracking branch 'diffycat/jpopsuki'
[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 .kickstarter import KickStarterIE
102 from .keek import KeekIE
103 from .liveleak import LiveLeakIE
104 from .livestream import LivestreamIE, LivestreamOriginalIE
105 from .mdr import MDRIE
106 from .metacafe import MetacafeIE
107 from .metacritic import MetacriticIE
108 from .mit import TechTVMITIE, MITIE
109 from .mixcloud import MixcloudIE
110 from .mofosex import MofosexIE
111 from .mtv import MTVIE
112 from .muzu import MuzuTVIE
113 from .myspace import MySpaceIE
114 from .myspass import MySpassIE
115 from .myvideo import MyVideoIE
116 from .naver import NaverIE
117 from .nba import NBAIE
118 from .nbc import NBCNewsIE
119 from .ndtv import NDTVIE
120 from .newgrounds import NewgroundsIE
121 from .nhl import NHLIE, NHLVideocenterIE
122 from .niconico import NiconicoIE
123 from .ninegag import NineGagIE
124 from .nowvideo import NowVideoIE
125 from .ooyala import OoyalaIE
126 from .orf import ORFIE
127 from .pbs import PBSIE
128 from .photobucket import PhotobucketIE
129 from .podomatic import PodomaticIE
130 from .pornhd import PornHdIE
131 from .pornhub import PornHubIE
132 from .pornotube import PornotubeIE
133 from .pyvideo import PyvideoIE
134 from .radiofrance import RadioFranceIE
135 from .rbmaradio import RBMARadioIE
136 from .redtube import RedTubeIE
137 from .ringtv import RingTVIE
138 from .ro220 import Ro220IE
139 from .rottentomatoes import RottenTomatoesIE
140 from .roxwel import RoxwelIE
141 from .rtlnow import RTLnowIE
142 from .rutube import RutubeIE
143 from .sina import SinaIE
144 from .slashdot import SlashdotIE
145 from .slideshare import SlideshareIE
146 from .smotri import (
147     SmotriIE,
148     SmotriCommunityIE,
149     SmotriUserIE,
150     SmotriBroadcastIE,
151 )
152 from .sohu import SohuIE
153 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
154 from .southparkstudios import (
155     SouthParkStudiosIE,
156     SouthparkDeIE,
157 )
158 from .space import SpaceIE
159 from .spankwire import SpankwireIE
160 from .spiegel import SpiegelIE
161 from .stanfordoc import StanfordOpenClassroomIE
162 from .statigram import StatigramIE
163 from .steam import SteamIE
164 from .streamcloud import StreamcloudIE
165 from .sztvhu import SztvHuIE
166 from .teamcoco import TeamcocoIE
167 from .techtalks import TechTalksIE
168 from .ted import TEDIE
169 from .tf1 import TF1IE
170 from .theplatform import ThePlatformIE
171 from .thisav import ThisAVIE
172 from .toutv import TouTvIE
173 from .traileraddict import TrailerAddictIE
174 from .trilulilu import TriluliluIE
175 from .tube8 import Tube8IE
176 from .tudou import TudouIE
177 from .tumblr import TumblrIE
178 from .tutv import TutvIE
179 from .tvp import TvpIE
180 from .unistra import UnistraIE
181 from .ustream import UstreamIE, UstreamChannelIE
182 from .vbox7 import Vbox7IE
183 from .veehd import VeeHDIE
184 from .veoh import VeohIE
185 from .vevo import VevoIE
186 from .vice import ViceIE
187 from .viddler import ViddlerIE
188 from .videodetective import VideoDetectiveIE
189 from .videofyme import VideofyMeIE
190 from .videopremium import VideoPremiumIE
191 from .vimeo import (
192     VimeoIE,
193     VimeoChannelIE,
194     VimeoUserIE,
195     VimeoAlbumIE,
196     VimeoGroupsIE,
197 )
198 from .vine import VineIE
199 from .viki import VikiIE
200 from .vk import VKIE
201 from .wat import WatIE
202 from .websurg import WeBSurgIE
203 from .weibo import WeiboIE
204 from .wimp import WimpIE
205 from .wistia import WistiaIE
206 from .worldstarhiphop import WorldStarHipHopIE
207 from .xhamster import XHamsterIE
208 from .xnxx import XNXXIE
209 from .xvideos import XVideosIE
210 from .xtube import XTubeIE
211 from .yahoo import (
212     YahooIE,
213     YahooNewsIE,
214     YahooSearchIE,
215 )
216 from .youjizz import YouJizzIE
217 from .youku import YoukuIE
218 from .youporn import YouPornIE
219 from .youtube import (
220     YoutubeIE,
221     YoutubePlaylistIE,
222     YoutubeSearchIE,
223     YoutubeSearchDateIE,
224     YoutubeUserIE,
225     YoutubeChannelIE,
226     YoutubeShowIE,
227     YoutubeSubscriptionsIE,
228     YoutubeRecommendedIE,
229     YoutubeTruncatedURLIE,
230     YoutubeWatchLaterIE,
231     YoutubeFavouritesIE,
232     YoutubeHistoryIE,
233     YoutubeTopListIE,
234 )
235 from .zdf import ZDFIE
236
237
238 _ALL_CLASSES = [
239     klass
240     for name, klass in globals().items()
241     if name.endswith('IE') and name != 'GenericIE'
242 ]
243 _ALL_CLASSES.append(GenericIE)
244
245
246 def gen_extractors():
247     """ Return a list of an instance of every supported extractor.
248     The order does matter; the first extractor matched is the one handling the URL.
249     """
250     return [klass() for klass in _ALL_CLASSES]
251
252
253 def get_info_extractor(ie_name):
254     """Returns the info extractor class with the given ie_name"""
255     return globals()[ie_name+'IE']