Merge remote-tracking branch 'origin/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 .hark import HarkIE
33 from .hotnewhiphop import HotNewHipHopIE
34 from .howcast import HowcastIE
35 from .hypem import HypemIE
36 from .ign import IGNIE, OneUPIE
37 from .ina import InaIE
38 from .infoq import InfoQIE
39 from .instagram import InstagramIE
40 from .jeuxvideo import JeuxVideoIE
41 from .jukebox import JukeboxIE
42 from .justintv import JustinTVIE
43 from .kankan import KankanIE
44 from .keek import KeekIE
45 from .liveleak import LiveLeakIE
46 from .livestream import LivestreamIE
47 from .metacafe import MetacafeIE
48 from .mixcloud import MixcloudIE
49 from .mtv import MTVIE
50 from .muzu import MuzuTVIE
51 from .myspass import MySpassIE
52 from .myvideo import MyVideoIE
53 from .nba import NBAIE
54 from .ooyala import OoyalaIE
55 from .pbs import PBSIE
56 from .photobucket import PhotobucketIE
57 from .pornotube import PornotubeIE
58 from .rbmaradio import RBMARadioIE
59 from .redtube import RedTubeIE
60 from .ringtv import RingTVIE
61 from .ro220 import Ro220IE
62 from .roxwel import RoxwelIE
63 from .rtlnow import RTLnowIE
64 from .sina import SinaIE
65 from .slashdot import SlashdotIE
66 from .soundcloud import SoundcloudIE, SoundcloudSetIE
67 from .spiegel import SpiegelIE
68 from .stanfordoc import StanfordOpenClassroomIE
69 from .statigram import StatigramIE
70 from .steam import SteamIE
71 from .teamcoco import TeamcocoIE
72 from .ted import TEDIE
73 from .tf1 import TF1IE
74 from .thisav import ThisAVIE
75 from .traileraddict import TrailerAddictIE
76 from .tudou import TudouIE
77 from .tumblr import TumblrIE
78 from .tutv import TutvIE
79 from .ustream import UstreamIE
80 from .unistra import UnistraIE
81 from .vbox7 import Vbox7IE
82 from .veoh import VeohIE
83 from .vevo import VevoIE
84 from .videofyme import VideofyMeIE
85 from .vimeo import VimeoIE, VimeoChannelIE
86 from .vine import VineIE
87 from .c56 import C56IE
88 from .wat import WatIE
89 from .weibo import WeiboIE
90 from .wimp import WimpIE
91 from .worldstarhiphop import WorldStarHipHopIE
92 from .xhamster import XHamsterIE
93 from .xnxx import XNXXIE
94 from .xvideos import XVideosIE
95 from .yahoo import YahooIE, YahooSearchIE
96 from .youjizz import YouJizzIE
97 from .youku import YoukuIE
98 from .youporn import YouPornIE
99 from .youtube import (
100     YoutubeIE,
101     YoutubePlaylistIE,
102     YoutubeSearchIE,
103     YoutubeUserIE,
104     YoutubeChannelIE,
105     YoutubeShowIE,
106     YoutubeSubscriptionsIE,
107     YoutubeRecommendedIE,
108     YoutubeWatchLaterIE,
109     YoutubeFavouritesIE,
110 )
111 from .zdf import ZDFIE
112
113
114 _ALL_CLASSES = [
115     klass
116     for name, klass in globals().items()
117     if name.endswith('IE') and name != 'GenericIE'
118 ]
119 _ALL_CLASSES.append(GenericIE)
120
121
122 def gen_extractors():
123     """ Return a list of an instance of every supported extractor.
124     The order does matter; the first extractor matched is the one handling the URL.
125     """
126     return [klass() for klass in _ALL_CLASSES]
127
128
129 def get_info_extractor(ie_name):
130     """Returns the info extractor class with the given ie_name"""
131     return globals()[ie_name+'IE']