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