Merge remote-tracking branch 'upstream/master'
[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 .vbox7 import Vbox7IE
79 from .veoh import VeohIE
80 from .vevo import VevoIE
81 from .videofyme import VideofyMeIE
82 from .vimeo import VimeoIE, VimeoChannelIE
83 from .vine import VineIE
84 from .c56 import C56IE
85 from .wat import WatIE
86 from .weibo import WeiboIE
87 from .wimp import WimpIE
88 from .worldstarhiphop import WorldStarHipHopIE
89 from .xhamster import XHamsterIE
90 from .xnxx import XNXXIE
91 from .xvideos import XVideosIE
92 from .yahoo import YahooIE, YahooSearchIE
93 from .youjizz import YouJizzIE
94 from .youku import YoukuIE
95 from .youporn import YouPornIE
96 from .youtube import (
97     YoutubeIE,
98     YoutubePlaylistIE,
99     YoutubeSearchIE,
100     YoutubeUserIE,
101     YoutubeChannelIE,
102     YoutubeShowIE,
103     YoutubeSubscriptionsIE,
104     YoutubeRecommendedIE,
105     YoutubeWatchLaterIE,
106     YoutubeFavouritesIE,
107 )
108 from .zdf import ZDFIE
109
110
111 _ALL_CLASSES = [
112     klass
113     for name, klass in globals().items()
114     if name.endswith('IE') and name != 'GenericIE'
115 ]
116 _ALL_CLASSES.append(GenericIE)
117
118 def gen_extractors():
119     """ Return a list of an instance of every supported extractor.
120     The order does matter; the first extractor matched is the one handling the URL.
121     """
122     return [klass() for klass in _ALL_CLASSES]
123
124 def get_info_extractor(ie_name):
125     """Returns the info extractor class with the given ie_name"""
126     return globals()[ie_name+'IE']