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