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