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