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