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