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