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