Merge remote-tracking branch 'Rudloff/websurg'
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .appletrailers import AppleTrailersIE
2 from .addanime import AddAnimeIE
3 from .archiveorg import ArchiveOrgIE
4 from .ard import ARDIE
5 from .arte import (
6     ArteTvIE,
7     ArteTVPlus7IE,
8     ArteTVCreativeIE,
9     ArteTVFutureIE,
10 )
11 from .auengine import AUEngineIE
12 from .bandcamp import BandcampIE
13 from .bliptv import BlipTVIE, BlipTVUserIE
14 from .bloomberg import BloombergIE
15 from .breakcom import BreakIE
16 from .brightcove import BrightcoveIE
17 from .c56 import C56IE
18 from .canalplus import CanalplusIE
19 from .canalc2 import Canalc2IE
20 from .cinemassacre import CinemassacreIE
21 from .cnn import CNNIE
22 from .collegehumor import CollegeHumorIE
23 from .comedycentral import ComedyCentralIE
24 from .condenast import CondeNastIE
25 from .criterion import CriterionIE
26 from .cspan import CSpanIE
27 from .dailymotion import (
28     DailymotionIE,
29     DailymotionPlaylistIE,
30     DailymotionUserIE,
31 )
32 from .daum import DaumIE
33 from .depositfiles import DepositFilesIE
34 from .dotsub import DotsubIE
35 from .dreisat import DreiSatIE
36 from .defense import DefenseGouvFrIE
37 from .ebaumsworld import EbaumsWorldIE
38 from .ehow import EHowIE
39 from .eighttracks import EightTracksIE
40 from .escapist import EscapistIE
41 from .exfm import ExfmIE
42 from .facebook import FacebookIE
43 from .faz import FazIE
44 from .fktv import (
45     FKTVIE,
46     FKTVPosteckeIE,
47 )
48 from .flickr import FlickrIE
49 from .francetv import (
50     PluzzIE,
51     FranceTvInfoIE,
52     France2IE,
53     GenerationQuoiIE
54 )
55 from .freesound import FreesoundIE
56 from .funnyordie import FunnyOrDieIE
57 from .gamespot import GameSpotIE
58 from .gametrailers import GametrailersIE
59 from .generic import GenericIE
60 from .googleplus import GooglePlusIE
61 from .googlesearch import GoogleSearchIE
62 from .hark import HarkIE
63 from .hotnewhiphop import HotNewHipHopIE
64 from .howcast import HowcastIE
65 from .hypem import HypemIE
66 from .ign import IGNIE, OneUPIE
67 from .ina import InaIE
68 from .infoq import InfoQIE
69 from .instagram import InstagramIE
70 from .internetvideoarchive import InternetVideoArchiveIE
71 from .jeuxvideo import JeuxVideoIE
72 from .jukebox import JukeboxIE
73 from .justintv import JustinTVIE
74 from .kankan import KankanIE
75 from .kickstarter import KickStarterIE
76 from .keek import KeekIE
77 from .liveleak import LiveLeakIE
78 from .livestream import LivestreamIE
79 from .metacafe import MetacafeIE
80 from .metacritic import MetacriticIE
81 from .mit import TechTVMITIE, MITIE
82 from .mixcloud import MixcloudIE
83 from .mtv import MTVIE
84 from .muzu import MuzuTVIE
85 from .myspass import MySpassIE
86 from .myvideo import MyVideoIE
87 from .naver import NaverIE
88 from .nba import NBAIE
89 from .nbc import NBCNewsIE
90 from .newgrounds import NewgroundsIE
91 from .nhl import NHLIE, NHLVideocenterIE
92 from .nowvideo import NowVideoIE
93 from .ooyala import OoyalaIE
94 from .orf import ORFIE
95 from .pbs import PBSIE
96 from .photobucket import PhotobucketIE
97 from .pornotube import PornotubeIE
98 from .rbmaradio import RBMARadioIE
99 from .redtube import RedTubeIE
100 from .ringtv import RingTVIE
101 from .ro220 import Ro220IE
102 from .rottentomatoes import RottenTomatoesIE
103 from .roxwel import RoxwelIE
104 from .rtlnow import RTLnowIE
105 from .sina import SinaIE
106 from .slashdot import SlashdotIE
107 from .slideshare import SlideshareIE
108 from .sohu import SohuIE
109 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
110 from .southparkstudios import SouthParkStudiosIE
111 from .spiegel import SpiegelIE
112 from .stanfordoc import StanfordOpenClassroomIE
113 from .statigram import StatigramIE
114 from .steam import SteamIE
115 from .sztvhu import SztvHuIE
116 from .teamcoco import TeamcocoIE
117 from .ted import TEDIE
118 from .tf1 import TF1IE
119 from .thisav import ThisAVIE
120 from .traileraddict import TrailerAddictIE
121 from .trilulilu import TriluliluIE
122 from .tudou import TudouIE
123 from .tumblr import TumblrIE
124 from .tutv import TutvIE
125 from .unistra import UnistraIE
126 from .ustream import UstreamIE, UstreamChannelIE
127 from .vbox7 import Vbox7IE
128 from .veehd import VeeHDIE
129 from .veoh import VeohIE
130 from .vevo import VevoIE
131 from .vice import ViceIE
132 from .viddler import ViddlerIE
133 from .videodetective import VideoDetectiveIE
134 from .videofyme import VideofyMeIE
135 from .videopremium import VideoPremiumIE
136 from .vimeo import VimeoIE, VimeoChannelIE
137 from .vine import VineIE
138 from .wat import WatIE
139 from .websurg import WeBSurgIE
140 from .weibo import WeiboIE
141 from .wimp import WimpIE
142 from .worldstarhiphop import WorldStarHipHopIE
143 from .xhamster import XHamsterIE
144 from .xnxx import XNXXIE
145 from .xvideos import XVideosIE
146 from .yahoo import YahooIE, YahooSearchIE
147 from .youjizz import YouJizzIE
148 from .youku import YoukuIE
149 from .youporn import YouPornIE
150 from .youtube import (
151     YoutubeIE,
152     YoutubePlaylistIE,
153     YoutubeSearchIE,
154     YoutubeUserIE,
155     YoutubeChannelIE,
156     YoutubeShowIE,
157     YoutubeSubscriptionsIE,
158     YoutubeRecommendedIE,
159     YoutubeTruncatedURLIE,
160     YoutubeWatchLaterIE,
161     YoutubeFavouritesIE,
162 )
163 from .zdf import ZDFIE
164
165
166 _ALL_CLASSES = [
167     klass
168     for name, klass in globals().items()
169     if name.endswith('IE') and name != 'GenericIE'
170 ]
171 _ALL_CLASSES.append(GenericIE)
172
173
174 def gen_extractors():
175     """ Return a list of an instance of every supported extractor.
176     The order does matter; the first extractor matched is the one handling the URL.
177     """
178     return [klass() for klass in _ALL_CLASSES]
179
180
181 def get_info_extractor(ie_name):
182     """Returns the info extractor class with the given ie_name"""
183     return globals()[ie_name+'IE']