Merge remote-tracking branch 'mjorlitzky/master'
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .appletrailers import AppleTrailersIE
2 from .addanime import AddAnimeIE
3 from .anitube import AnitubeIE
4 from .archiveorg import ArchiveOrgIE
5 from .ard import ARDIE
6 from .arte import (
7     ArteTvIE,
8     ArteTVPlus7IE,
9     ArteTVCreativeIE,
10     ArteTVFutureIE,
11     ArteTVDDCIE,
12 )
13 from .auengine import AUEngineIE
14 from .bambuser import BambuserIE, BambuserChannelIE
15 from .bandcamp import BandcampIE, BandcampAlbumIE
16 from .bliptv import BlipTVIE, BlipTVUserIE
17 from .bloomberg import BloombergIE
18 from .breakcom import BreakIE
19 from .brightcove import BrightcoveIE
20 from .c56 import C56IE
21 from .canalplus import CanalplusIE
22 from .canalc2 import Canalc2IE
23 from .cbs import CBSIE
24 from .cinemassacre import CinemassacreIE
25 from .clipfish import ClipfishIE
26 from .clipsyndicate import ClipsyndicateIE
27 from .cnn import CNNIE
28 from .collegehumor import CollegeHumorIE
29 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
30 from .condenast import CondeNastIE
31 from .criterion import CriterionIE
32 from .cspan import CSpanIE
33 from .d8 import D8IE
34 from .dailymotion import (
35     DailymotionIE,
36     DailymotionPlaylistIE,
37     DailymotionUserIE,
38 )
39 from .daum import DaumIE
40 from .depositfiles import DepositFilesIE
41 from .dotsub import DotsubIE
42 from .dreisat import DreiSatIE
43 from .defense import DefenseGouvFrIE
44 from .ebaumsworld import EbaumsWorldIE
45 from .ehow import EHowIE
46 from .eighttracks import EightTracksIE
47 from .eitb import EitbIE
48 from .escapist import EscapistIE
49 from .exfm import ExfmIE
50 from .extremetube import ExtremeTubeIE
51 from .facebook import FacebookIE
52 from .faz import FazIE
53 from .fktv import (
54     FKTVIE,
55     FKTVPosteckeIE,
56 )
57 from .flickr import FlickrIE
58 from .francetv import (
59     PluzzIE,
60     FranceTvInfoIE,
61     FranceTVIE,
62     GenerationQuoiIE
63 )
64 from .freesound import FreesoundIE
65 from .funnyordie import FunnyOrDieIE
66 from .gamekings import GamekingsIE
67 from .gamespot import GameSpotIE
68 from .gametrailers import GametrailersIE
69 from .generic import GenericIE
70 from .googleplus import GooglePlusIE
71 from .googlesearch import GoogleSearchIE
72 from .hark import HarkIE
73 from .hotnewhiphop import HotNewHipHopIE
74 from .howcast import HowcastIE
75 from .hypem import HypemIE
76 from .ign import IGNIE, OneUPIE
77 from .imdb import ImdbIE
78 from .ina import InaIE
79 from .infoq import InfoQIE
80 from .instagram import InstagramIE
81 from .internetvideoarchive import InternetVideoArchiveIE
82 from .jeuxvideo import JeuxVideoIE
83 from .jukebox import JukeboxIE
84 from .justintv import JustinTVIE
85 from .kankan import KankanIE
86 from .keezmovies import KeezMoviesIE
87 from .kickstarter import KickStarterIE
88 from .keek import KeekIE
89 from .liveleak import LiveLeakIE
90 from .livestream import LivestreamIE, LivestreamOriginalIE
91 from .metacafe import MetacafeIE
92 from .metacritic import MetacriticIE
93 from .mit import TechTVMITIE, MITIE
94 from .mixcloud import MixcloudIE
95 from .mofosex import MofosexIE
96 from .mtv import MTVIE
97 from .muzu import MuzuTVIE
98 from .myspace import MySpaceIE
99 from .myspass import MySpassIE
100 from .myvideo import MyVideoIE
101 from .naver import NaverIE
102 from .nba import NBAIE
103 from .nbc import NBCNewsIE
104 from .ndtv import NDTVIE
105 from .newgrounds import NewgroundsIE
106 from .nhl import NHLIE, NHLVideocenterIE
107 from .niconico import NiconicoIE
108 from .ninegag import NineGagIE
109 from .nowvideo import NowVideoIE
110 from .ooyala import OoyalaIE
111 from .orf import ORFIE
112 from .pbs import PBSIE
113 from .photobucket import PhotobucketIE
114 from .podomatic import PodomaticIE
115 from .pornhd import PornHdIE
116 from .pornhub import PornHubIE
117 from .pornotube import PornotubeIE
118 from .pyvideo import PyvideoIE
119 from .rbmaradio import RBMARadioIE
120 from .redtube import RedTubeIE
121 from .ringtv import RingTVIE
122 from .ro220 import Ro220IE
123 from .rottentomatoes import RottenTomatoesIE
124 from .roxwel import RoxwelIE
125 from .rtlnow import RTLnowIE
126 from .rutube import RutubeIE
127 from .sina import SinaIE
128 from .slashdot import SlashdotIE
129 from .slideshare import SlideshareIE
130 from .smotri import (
131     SmotriIE,
132     SmotriCommunityIE,
133     SmotriUserIE,
134     SmotriBroadcastIE,
135 )
136 from .sohu import SohuIE
137 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
138 from .southparkstudios import (
139     SouthParkStudiosIE,
140     SouthparkDeIE,
141 )
142 from .space import SpaceIE
143 from .spankwire import SpankwireIE
144 from .spiegel import SpiegelIE
145 from .stanfordoc import StanfordOpenClassroomIE
146 from .statigram import StatigramIE
147 from .steam import SteamIE
148 from .streamcloud import StreamcloudIE
149 from .sztvhu import SztvHuIE
150 from .teamcoco import TeamcocoIE
151 from .techtalks import TechTalksIE
152 from .ted import TEDIE
153 from .tf1 import TF1IE
154 from .theplatform import ThePlatformIE
155 from .thisav import ThisAVIE
156 from .toutv import TouTvIE
157 from .traileraddict import TrailerAddictIE
158 from .trilulilu import TriluliluIE
159 from .tube8 import Tube8IE
160 from .tudou import TudouIE
161 from .tumblr import TumblrIE
162 from .tutv import TutvIE
163 from .tvp import TvpIE
164 from .unistra import UnistraIE
165 from .ustream import UstreamIE, UstreamChannelIE
166 from .vbox7 import Vbox7IE
167 from .veehd import VeeHDIE
168 from .veoh import VeohIE
169 from .vevo import VevoIE
170 from .vice import ViceIE
171 from .viddler import ViddlerIE
172 from .videodetective import VideoDetectiveIE
173 from .videofyme import VideofyMeIE
174 from .videopremium import VideoPremiumIE
175 from .vimeo import (
176     VimeoIE,
177     VimeoChannelIE,
178     VimeoUserIE,
179     VimeoAlbumIE,
180     VimeoGroupsIE,
181 )
182 from .vine import VineIE
183 from .viki import VikiIE
184 from .vk import VKIE
185 from .wat import WatIE
186 from .websurg import WeBSurgIE
187 from .weibo import WeiboIE
188 from .wimp import WimpIE
189 from .wistia import WistiaIE
190 from .worldstarhiphop import WorldStarHipHopIE
191 from .xhamster import XHamsterIE
192 from .xnxx import XNXXIE
193 from .xvideos import XVideosIE
194 from .xtube import XTubeIE
195 from .yahoo import (
196     YahooIE,
197     YahooNewsIE,
198     YahooSearchIE,
199 )
200 from .youjizz import YouJizzIE
201 from .youku import YoukuIE
202 from .youporn import YouPornIE
203 from .youtube import (
204     YoutubeIE,
205     YoutubePlaylistIE,
206     YoutubeSearchIE,
207     YoutubeSearchDateIE,
208     YoutubeUserIE,
209     YoutubeChannelIE,
210     YoutubeShowIE,
211     YoutubeSubscriptionsIE,
212     YoutubeRecommendedIE,
213     YoutubeTruncatedURLIE,
214     YoutubeWatchLaterIE,
215     YoutubeFavouritesIE,
216     YoutubeHistoryIE,
217     YoutubeTopListIE,
218 )
219 from .zdf import ZDFIE
220
221
222 _ALL_CLASSES = [
223     klass
224     for name, klass in globals().items()
225     if name.endswith('IE') and name != 'GenericIE'
226 ]
227 _ALL_CLASSES.append(GenericIE)
228
229
230 def gen_extractors():
231     """ Return a list of an instance of every supported extractor.
232     The order does matter; the first extractor matched is the one handling the URL.
233     """
234     return [klass() for klass in _ALL_CLASSES]
235
236
237 def get_info_extractor(ie_name):
238     """Returns the info extractor class with the given ie_name"""
239     return globals()[ie_name+'IE']