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