Merge branch 'age_limit'
[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 .viddler import ViddlerIE
121 from .videofyme import VideofyMeIE
122 from .vimeo import VimeoIE, VimeoChannelIE
123 from .vine import VineIE
124 from .wat import WatIE
125 from .weibo import WeiboIE
126 from .wimp import WimpIE
127 from .worldstarhiphop import WorldStarHipHopIE
128 from .xhamster import XHamsterIE
129 from .xnxx import XNXXIE
130 from .xvideos import XVideosIE
131 from .yahoo import YahooIE, YahooSearchIE
132 from .youjizz import YouJizzIE
133 from .youku import YoukuIE
134 from .youporn import YouPornIE
135 from .youtube import (
136     YoutubeIE,
137     YoutubePlaylistIE,
138     YoutubeSearchIE,
139     YoutubeUserIE,
140     YoutubeChannelIE,
141     YoutubeShowIE,
142     YoutubeSubscriptionsIE,
143     YoutubeRecommendedIE,
144     YoutubeWatchLaterIE,
145     YoutubeFavouritesIE,
146 )
147 from .zdf import ZDFIE
148
149
150 _ALL_CLASSES = [
151     klass
152     for name, klass in globals().items()
153     if name.endswith('IE') and name != 'GenericIE'
154 ]
155 _ALL_CLASSES.append(GenericIE)
156
157
158 def gen_extractors():
159     """ Return a list of an instance of every supported extractor.
160     The order does matter; the first extractor matched is the one handling the URL.
161     """
162     return [klass() for klass in _ALL_CLASSES]
163
164
165 def get_info_extractor(ie_name):
166     """Returns the info extractor class with the given ie_name"""
167     return globals()[ie_name+'IE']