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