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