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