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