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