Merge branch 'master' into subtitles_rework
[youtube-dl] / youtube_dl / extractor / __init__.py
1 from .archiveorg import ArchiveOrgIE
2 from .ard import ARDIE
3 from .arte import ArteTvIE
4 from .auengine import AUEngineIE
5 from .bandcamp import BandcampIE
6 from .bliptv import BlipTVIE, BlipTVUserIE
7 from .breakcom import BreakIE
8 from .brightcove import BrightcoveIE
9 from .canalplus import CanalplusIE
10 from .collegehumor import CollegeHumorIE
11 from .comedycentral import ComedyCentralIE
12 from .condenast import CondeNastIE
13 from .criterion import CriterionIE
14 from .cspan import CSpanIE
15 from .dailymotion import DailymotionIE, DailymotionPlaylistIE
16 from .depositfiles import DepositFilesIE
17 from .dotsub import DotsubIE
18 from .dreisat import DreiSatIE
19 from .ehow import EHowIE
20 from .eighttracks import EightTracksIE
21 from .escapist import EscapistIE
22 from .exfm import ExfmIE
23 from .facebook import FacebookIE
24 from .flickr import FlickrIE
25 from .freesound import FreesoundIE
26 from .funnyordie import FunnyOrDieIE
27 from .gamespot import GameSpotIE
28 from .gametrailers import GametrailersIE
29 from .generic import GenericIE
30 from .googleplus import GooglePlusIE
31 from .googlesearch import GoogleSearchIE
32 from .hotnewhiphop import HotNewHipHopIE
33 from .howcast import HowcastIE
34 from .hypem import HypemIE
35 from .ign import IGNIE, OneUPIE
36 from .ina import InaIE
37 from .infoq import InfoQIE
38 from .instagram import InstagramIE
39 from .jeuxvideo import JeuxVideoIE
40 from .jukebox import JukeboxIE
41 from .justintv import JustinTVIE
42 from .kankan import KankanIE
43 from .keek import KeekIE
44 from .liveleak import LiveLeakIE
45 from .livestream import LivestreamIE
46 from .metacafe import MetacafeIE
47 from .mixcloud import MixcloudIE
48 from .mtv import MTVIE
49 from .muzu import MuzuTVIE
50 from .myspass import MySpassIE
51 from .myvideo import MyVideoIE
52 from .nba import NBAIE
53 from .ooyala import OoyalaIE
54 from .pbs import PBSIE
55 from .photobucket import PhotobucketIE
56 from .pornotube import PornotubeIE
57 from .rbmaradio import RBMARadioIE
58 from .redtube import RedTubeIE
59 from .ringtv import RingTVIE
60 from .roxwel import RoxwelIE
61 from .rtlnow import RTLnowIE
62 from .sina import SinaIE
63 from .slashdot import SlashdotIE
64 from .soundcloud import SoundcloudIE, SoundcloudSetIE
65 from .spiegel import SpiegelIE
66 from .stanfordoc import StanfordOpenClassroomIE
67 from .statigram import StatigramIE
68 from .steam import SteamIE
69 from .teamcoco import TeamcocoIE
70 from .ted import TEDIE
71 from .tf1 import TF1IE
72 from .thisav import ThisAVIE
73 from .traileraddict import TrailerAddictIE
74 from .tudou import TudouIE
75 from .tumblr import TumblrIE
76 from .tutv import TutvIE
77 from .ustream import UstreamIE
78 from .unistra import UnistraIE
79 from .vbox7 import Vbox7IE
80 from .veoh import VeohIE
81 from .vevo import VevoIE
82 from .videofyme import VideofyMeIE
83 from .vimeo import VimeoIE, VimeoChannelIE
84 from .vine import VineIE
85 from .c56 import C56IE
86 from .wat import WatIE
87 from .weibo import WeiboIE
88 from .wimp import WimpIE
89 from .worldstarhiphop import WorldStarHipHopIE
90 from .xhamster import XHamsterIE
91 from .xnxx import XNXXIE
92 from .xvideos import XVideosIE
93 from .yahoo import YahooIE, YahooSearchIE
94 from .youjizz import YouJizzIE
95 from .youku import YoukuIE
96 from .youporn import YouPornIE
97 from .youtube import (
98     YoutubeIE,
99     YoutubePlaylistIE,
100     YoutubeSearchIE,
101     YoutubeUserIE,
102     YoutubeChannelIE,
103     YoutubeShowIE,
104     YoutubeSubscriptionsIE,
105     YoutubeRecommendedIE,
106     YoutubeWatchLaterIE,
107     YoutubeFavouritesIE,
108 )
109 from .zdf import ZDFIE
110
111
112 _ALL_CLASSES = [
113     klass
114     for name, klass in globals().items()
115     if name.endswith('IE') and name != 'GenericIE'
116 ]
117 _ALL_CLASSES.append(GenericIE)
118
119 def gen_extractors():
120     """ Return a list of an instance of every supported extractor.
121     The order does matter; the first extractor matched is the one handling the URL.
122     """
123     return [klass() for klass in _ALL_CLASSES]
124
125 def get_info_extractor(ie_name):
126     """Returns the info extractor class with the given ie_name"""
127     return globals()[ie_name+'IE']