Merge pull request #1664 by @rzhxeo
[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 .keezmovies import KeezMoviesIE
76 from .kickstarter import KickStarterIE
77 from .keek import KeekIE
78 from .liveleak import LiveLeakIE
79 from .livestream import LivestreamIE
80 from .metacafe import MetacafeIE
81 from .metacritic import MetacriticIE
82 from .mit import TechTVMITIE, MITIE
83 from .mixcloud import MixcloudIE
84 from .mtv import MTVIE
85 from .muzu import MuzuTVIE
86 from .myspass import MySpassIE
87 from .myvideo import MyVideoIE
88 from .naver import NaverIE
89 from .nba import NBAIE
90 from .nbc import NBCNewsIE
91 from .newgrounds import NewgroundsIE
92 from .nhl import NHLIE, NHLVideocenterIE
93 from .nowvideo import NowVideoIE
94 from .ooyala import OoyalaIE
95 from .orf import ORFIE
96 from .pbs import PBSIE
97 from .photobucket import PhotobucketIE
98 from .pornhub import PornHubIE
99 from .pornotube import PornotubeIE
100 from .rbmaradio import RBMARadioIE
101 from .redtube import RedTubeIE
102 from .ringtv import RingTVIE
103 from .ro220 import Ro220IE
104 from .rottentomatoes import RottenTomatoesIE
105 from .roxwel import RoxwelIE
106 from .rtlnow import RTLnowIE
107 from .rutube import RutubeIE
108 from .sina import SinaIE
109 from .slashdot import SlashdotIE
110 from .slideshare import SlideshareIE
111 from .sohu import SohuIE
112 from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
113 from .southparkstudios import SouthParkStudiosIE
114 from .spiegel import SpiegelIE
115 from .stanfordoc import StanfordOpenClassroomIE
116 from .statigram import StatigramIE
117 from .steam import SteamIE
118 from .sztvhu import SztvHuIE
119 from .teamcoco import TeamcocoIE
120 from .techtalks import TechTalksIE
121 from .ted import TEDIE
122 from .tf1 import TF1IE
123 from .thisav import ThisAVIE
124 from .traileraddict import TrailerAddictIE
125 from .trilulilu import TriluliluIE
126 from .tudou import TudouIE
127 from .tumblr import TumblrIE
128 from .tutv import TutvIE
129 from .unistra import UnistraIE
130 from .ustream import UstreamIE, UstreamChannelIE
131 from .vbox7 import Vbox7IE
132 from .veehd import VeeHDIE
133 from .veoh import VeohIE
134 from .vevo import VevoIE
135 from .vice import ViceIE
136 from .viddler import ViddlerIE
137 from .videodetective import VideoDetectiveIE
138 from .videofyme import VideofyMeIE
139 from .videopremium import VideoPremiumIE
140 from .vimeo import VimeoIE, VimeoChannelIE
141 from .vine import VineIE
142 from .wat import WatIE
143 from .websurg import WeBSurgIE
144 from .weibo import WeiboIE
145 from .wimp import WimpIE
146 from .worldstarhiphop import WorldStarHipHopIE
147 from .xhamster import XHamsterIE
148 from .xnxx import XNXXIE
149 from .xvideos import XVideosIE
150 from .yahoo import YahooIE, YahooSearchIE
151 from .youjizz import YouJizzIE
152 from .youku import YoukuIE
153 from .youporn import YouPornIE
154 from .youtube import (
155     YoutubeIE,
156     YoutubePlaylistIE,
157     YoutubeSearchIE,
158     YoutubeUserIE,
159     YoutubeChannelIE,
160     YoutubeShowIE,
161     YoutubeSubscriptionsIE,
162     YoutubeRecommendedIE,
163     YoutubeTruncatedURLIE,
164     YoutubeWatchLaterIE,
165     YoutubeFavouritesIE,
166 )
167 from .zdf import ZDFIE
168
169
170 _ALL_CLASSES = [
171     klass
172     for name, klass in globals().items()
173     if name.endswith('IE') and name != 'GenericIE'
174 ]
175 _ALL_CLASSES.append(GenericIE)
176
177
178 def gen_extractors():
179     """ Return a list of an instance of every supported extractor.
180     The order does matter; the first extractor matched is the one handling the URL.
181     """
182     return [klass() for klass in _ALL_CLASSES]
183
184
185 def get_info_extractor(ie_name):
186     """Returns the info extractor class with the given ie_name"""
187     return globals()[ie_name+'IE']