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