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