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