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