[rutv] Refactor vgtrk/rutv extractor
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .academicearth import AcademicEarthCourseIE
2 from .addanime import AddAnimeIE
3 from .aftonbladet import AftonbladetIE
4 from .anitube import AnitubeIE
5 from .aparat import AparatIE
6 from .appletrailers import AppleTrailersIE
7 from .archiveorg import ArchiveOrgIE
8 from .ard import ARDIE
9 from .arte import (
10     ArteTvIE,
11     ArteTVPlus7IE,
12     ArteTVCreativeIE,
13     ArteTVFutureIE,
14     ArteTVDDCIE,
15 )
16 from .auengine import AUEngineIE
17 from .bambuser import BambuserIE, BambuserChannelIE
18 from .bandcamp import BandcampIE, BandcampAlbumIE
19 from .bbccouk import BBCCoUkIE
20 from .blinkx import BlinkxIE
21 from .bliptv import BlipTVIE, BlipTVUserIE
22 from .bloomberg import BloombergIE
23 from .br import BRIE
24 from .breakcom import BreakIE
25 from .brightcove import BrightcoveIE
26 from .c56 import C56IE
27 from .canal13cl import Canal13clIE
28 from .canalplus import CanalplusIE
29 from .canalc2 import Canalc2IE
30 from .cbs import CBSIE
31 from .ceskatelevize import CeskaTelevizeIE
32 from .channel9 import Channel9IE
33 from .chilloutzone import ChilloutzoneIE
34 from .cinemassacre import CinemassacreIE
35 from .clipfish import ClipfishIE
36 from .cliphunter import CliphunterIE
37 from .clipsyndicate import ClipsyndicateIE
38 from .cmt import CMTIE
39 from .cnn import (
40     CNNIE,
41     CNNBlogsIE,
42 )
43 from .collegehumor import CollegeHumorIE
44 from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
45 from .condenast import CondeNastIE
46 from .criterion import CriterionIE
47 from .crunchyroll import CrunchyrollIE
48 from .cspan import CSpanIE
49 from .d8 import D8IE
50 from .dailymotion import (
51     DailymotionIE,
52     DailymotionPlaylistIE,
53     DailymotionUserIE,
54 )
55 from .daum import DaumIE
56 from .dotsub import DotsubIE
57 from .dreisat import DreiSatIE
58 from .defense import DefenseGouvFrIE
59 from .discovery import DiscoveryIE
60 from .dropbox import DropboxIE
61 from .ebaumsworld import EbaumsWorldIE
62 from .ehow import EHowIE
63 from .eighttracks import EightTracksIE
64 from .eitb import EitbIE
65 from .elpais import ElPaisIE
66 from .escapist import EscapistIE
67 from .everyonesmixtape import EveryonesMixtapeIE
68 from .exfm import ExfmIE
69 from .extremetube import ExtremeTubeIE
70 from .facebook import FacebookIE
71 from .faz import FazIE
72 from .firstpost import FirstpostIE
73 from .firsttv import FirstTVIE
74 from .fktv import (
75     FKTVIE,
76     FKTVPosteckeIE,
77 )
78 from .flickr import FlickrIE
79 from .fourtube import FourTubeIE
80 from .franceinter import FranceInterIE
81 from .francetv import (
82     PluzzIE,
83     FranceTvInfoIE,
84     FranceTVIE,
85     GenerationQuoiIE,
86     CultureboxIE,
87 )
88 from .freesound import FreesoundIE
89 from .freespeech import FreespeechIE
90 from .funnyordie import FunnyOrDieIE
91 from .gamekings import GamekingsIE
92 from .gamespot import GameSpotIE
93 from .gametrailers import GametrailersIE
94 from .gdcvault import GDCVaultIE
95 from .generic import GenericIE
96 from .googleplus import GooglePlusIE
97 from .googlesearch import GoogleSearchIE
98 from .hark import HarkIE
99 from .helsinki import HelsinkiIE
100 from .hotnewhiphop import HotNewHipHopIE
101 from .howcast import HowcastIE
102 from .huffpost import HuffPostIE
103 from .hypem import HypemIE
104 from .ign import IGNIE, OneUPIE
105 from .imdb import (
106     ImdbIE,
107     ImdbListIE
108 )
109 from .ina import InaIE
110 from .infoq import InfoQIE
111 from .instagram import InstagramIE
112 from .internetvideoarchive import InternetVideoArchiveIE
113 from .iprima import IPrimaIE
114 from .ivi import (
115     IviIE,
116     IviCompilationIE
117 )
118 from .jadorecettepub import JadoreCettePubIE
119 from .jeuxvideo import JeuxVideoIE
120 from .jukebox import JukeboxIE
121 from .justintv import JustinTVIE
122 from .jpopsukitv import JpopsukiIE
123 from .kankan import KankanIE
124 from .keezmovies import KeezMoviesIE
125 from .khanacademy import KhanAcademyIE
126 from .kickstarter import KickStarterIE
127 from .keek import KeekIE
128 from .kontrtube import KontrTubeIE
129 from .la7 import LA7IE
130 from .lifenews import LifeNewsIE
131 from .liveleak import LiveLeakIE
132 from .livestream import LivestreamIE, LivestreamOriginalIE
133 from .lynda import (
134     LyndaIE,
135     LyndaCourseIE
136 )
137 from .m6 import M6IE
138 from .macgamestore import MacGameStoreIE
139 from .mailru import MailRuIE
140 from .malemotion import MalemotionIE
141 from .mdr import MDRIE
142 from .metacafe import MetacafeIE
143 from .metacritic import MetacriticIE
144 from .mit import TechTVMITIE, MITIE, OCWMITIE
145 from .mixcloud import MixcloudIE
146 from .mpora import MporaIE
147 from .mofosex import MofosexIE
148 from .mooshare import MooshareIE
149 from .mtv import (
150     MTVIE,
151     MTVIggyIE,
152 )
153 from .muzu import MuzuTVIE
154 from .myspace import MySpaceIE
155 from .myspass import MySpassIE
156 from .myvideo import MyVideoIE
157 from .naver import NaverIE
158 from .nba import NBAIE
159 from .nbc import (
160     NBCIE,
161     NBCNewsIE,
162 )
163 from .ndr import NDRIE
164 from .ndtv import NDTVIE
165 from .newgrounds import NewgroundsIE
166 from .nfb import NFBIE
167 from .nhl import NHLIE, NHLVideocenterIE
168 from .niconico import NiconicoIE
169 from .ninegag import NineGagIE
170 from .normalboots import NormalbootsIE
171 from .novamov import NovaMovIE
172 from .nowness import NownessIE
173 from .nowvideo import NowVideoIE
174 from .ooyala import OoyalaIE
175 from .orf import ORFIE
176 from .pbs import PBSIE
177 from .photobucket import PhotobucketIE
178 from .playvid import PlayvidIE
179 from .podomatic import PodomaticIE
180 from .pornhd import PornHdIE
181 from .pornhub import PornHubIE
182 from .pornotube import PornotubeIE
183 from .prosiebensat1 import ProSiebenSat1IE
184 from .pyvideo import PyvideoIE
185 from .radiofrance import RadioFranceIE
186 from .rbmaradio import RBMARadioIE
187 from .redtube import RedTubeIE
188 from .ringtv import RingTVIE
189 from .ro220 import Ro220IE
190 from .rottentomatoes import RottenTomatoesIE
191 from .roxwel import RoxwelIE
192 from .rtlnow import RTLnowIE
193 from .rutube import (
194     RutubeIE,
195     RutubeChannelIE,
196     RutubeMovieIE,
197     RutubePersonIE,
198 )
199 from .rutv import RUTVIE
200 from .savefrom import SaveFromIE
201 from .servingsys import ServingSysIE
202 from .sina import SinaIE
203 from .slashdot import SlashdotIE
204 from .slideshare import SlideshareIE
205 from .smotri import (
206     SmotriIE,
207     SmotriCommunityIE,
208     SmotriUserIE,
209     SmotriBroadcastIE,
210 )
211 from .sohu import SohuIE
212 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
213 from .southparkstudios import (
214     SouthParkStudiosIE,
215     SouthparkDeIE,
216 )
217 from .space import SpaceIE
218 from .spankwire import SpankwireIE
219 from .spiegel import SpiegelIE
220 from .spike import SpikeIE
221 from .stanfordoc import StanfordOpenClassroomIE
222 from .statigram import StatigramIE
223 from .steam import SteamIE
224 from .streamcloud import StreamcloudIE
225 from .streamcz import StreamCZIE
226 from .syfy import SyfyIE
227 from .sztvhu import SztvHuIE
228 from .teamcoco import TeamcocoIE
229 from .techtalks import TechTalksIE
230 from .ted import TEDIE
231 from .testurl import TestURLIE
232 from .tf1 import TF1IE
233 from .theplatform import ThePlatformIE
234 from .thisav import ThisAVIE
235 from .tinypic import TinyPicIE
236 from .toutv import TouTvIE
237 from .traileraddict import TrailerAddictIE
238 from .trilulilu import TriluliluIE
239 from .trutube import TruTubeIE
240 from .tube8 import Tube8IE
241 from .tudou import TudouIE
242 from .tumblr import TumblrIE
243 from .tutv import TutvIE
244 from .tvigle import TvigleIE
245 from .tvp import TvpIE
246 from .udemy import (
247     UdemyIE,
248     UdemyCourseIE
249 )
250 from .unistra import UnistraIE
251 from .ustream import UstreamIE, UstreamChannelIE
252 from .vbox7 import Vbox7IE
253 from .veehd import VeeHDIE
254 from .veoh import VeohIE
255 from .vevo import VevoIE
256 from .vice import ViceIE
257 from .viddler import ViddlerIE
258 from .videobam import VideoBamIE
259 from .videodetective import VideoDetectiveIE
260 from .videofyme import VideofyMeIE
261 from .videopremium import VideoPremiumIE
262 from .vimeo import (
263     VimeoIE,
264     VimeoChannelIE,
265     VimeoUserIE,
266     VimeoAlbumIE,
267     VimeoGroupsIE,
268     VimeoReviewIE,
269 )
270 from .vine import VineIE
271 from .viki import VikiIE
272 from .vk import VKIE
273 from .vube import VubeIE
274 from .wat import WatIE
275 from .wdr import WDRIE
276 from .weibo import WeiboIE
277 from .wimp import WimpIE
278 from .wistia import WistiaIE
279 from .worldstarhiphop import WorldStarHipHopIE
280 from .xhamster import XHamsterIE
281 from .xnxx import XNXXIE
282 from .xvideos import XVideosIE
283 from .xtube import XTubeIE
284 from .yahoo import (
285     YahooIE,
286     YahooNewsIE,
287     YahooSearchIE,
288 )
289 from .youjizz import YouJizzIE
290 from .youku import YoukuIE
291 from .youporn import YouPornIE
292 from .youtube import (
293     YoutubeIE,
294     YoutubeChannelIE,
295     YoutubeFavouritesIE,
296     YoutubeHistoryIE,
297     YoutubePlaylistIE,
298     YoutubeRecommendedIE,
299     YoutubeSearchDateIE,
300     YoutubeSearchIE,
301     YoutubeSearchURLIE,
302     YoutubeShowIE,
303     YoutubeSubscriptionsIE,
304     YoutubeTopListIE,
305     YoutubeTruncatedURLIE,
306     YoutubeUserIE,
307     YoutubeWatchLaterIE,
308 )
309 from .zdf import ZDFIE
310
311
312 _ALL_CLASSES = [
313     klass
314     for name, klass in globals().items()
315     if name.endswith('IE') and name != 'GenericIE'
316 ]
317 _ALL_CLASSES.append(GenericIE)
318
319
320 def gen_extractors():
321     """ Return a list of an instance of every supported extractor.
322     The order does matter; the first extractor matched is the one handling the URL.
323     """
324     return [klass() for klass in _ALL_CLASSES]
325
326
327 def get_info_extractor(ie_name):
328     """Returns the info extractor class with the given ie_name"""
329     return globals()[ie_name+'IE']