-
+from .academicearth import AcademicEarthCourseIE
+from .addanime import AddAnimeIE
+from .anitube import AnitubeIE
+from .aparat import AparatIE
+from .appletrailers import AppleTrailersIE
+from .archiveorg import ArchiveOrgIE
from .ard import ARDIE
-from .arte import ArteTvIE
-from .bandcamp import BandcampIE
+from .arte import (
+ ArteTvIE,
+ ArteTVPlus7IE,
+ ArteTVCreativeIE,
+ ArteTVFutureIE,
+ ArteTVDDCIE,
+)
+from .auengine import AUEngineIE
+from .bambuser import BambuserIE, BambuserChannelIE
+from .bandcamp import BandcampIE, BandcampAlbumIE
+from .blinkx import BlinkxIE
from .bliptv import BlipTVIE, BlipTVUserIE
+from .bloomberg import BloombergIE
from .breakcom import BreakIE
+from .brightcove import BrightcoveIE
+from .c56 import C56IE
+from .canalplus import CanalplusIE
+from .canalc2 import Canalc2IE
+from .cbs import CBSIE
+from .channel9 import Channel9IE
+from .cinemassacre import CinemassacreIE
+from .clipfish import ClipfishIE
+from .clipsyndicate import ClipsyndicateIE
+from .cnn import CNNIE
from .collegehumor import CollegeHumorIE
-from .comedycentral import ComedyCentralIE
+from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
+from .condenast import CondeNastIE
+from .criterion import CriterionIE
+from .crunchyroll import CrunchyrollIE
from .cspan import CSpanIE
-from .dailymotion import DailymotionIE
+from .d8 import D8IE
+from .dailymotion import (
+ DailymotionIE,
+ DailymotionPlaylistIE,
+ DailymotionUserIE,
+)
+from .daum import DaumIE
from .depositfiles import DepositFilesIE
+from .dotsub import DotsubIE
+from .dreisat import DreiSatIE
+from .defense import DefenseGouvFrIE
+from .ebaumsworld import EbaumsWorldIE
+from .ehow import EHowIE
from .eighttracks import EightTracksIE
+from .eitb import EitbIE
from .escapist import EscapistIE
+from .exfm import ExfmIE
+from .extremetube import ExtremeTubeIE
from .facebook import FacebookIE
+from .faz import FazIE
+from .fktv import (
+ FKTVIE,
+ FKTVPosteckeIE,
+)
from .flickr import FlickrIE
+from .francetv import (
+ PluzzIE,
+ FranceTvInfoIE,
+ FranceTVIE,
+ GenerationQuoiIE
+)
+from .freesound import FreesoundIE
from .funnyordie import FunnyOrDieIE
+from .gamekings import GamekingsIE
+from .gamespot import GameSpotIE
from .gametrailers import GametrailersIE
from .generic import GenericIE
from .googleplus import GooglePlusIE
from .googlesearch import GoogleSearchIE
+from .hark import HarkIE
+from .hotnewhiphop import HotNewHipHopIE
from .howcast import HowcastIE
from .hypem import HypemIE
+from .ign import IGNIE, OneUPIE
+from .imdb import ImdbIE
from .ina import InaIE
from .infoq import InfoQIE
+from .instagram import InstagramIE
+from .internetvideoarchive import InternetVideoArchiveIE
+from .ivi import (
+ IviIE,
+ IviCompilationIE
+)
+from .jeuxvideo import JeuxVideoIE
from .jukebox import JukeboxIE
from .justintv import JustinTVIE
+from .kankan import KankanIE
+from .keezmovies import KeezMoviesIE
+from .kickstarter import KickStarterIE
from .keek import KeekIE
from .liveleak import LiveLeakIE
+from .livestream import LivestreamIE, LivestreamOriginalIE
+from .mdr import MDRIE
from .metacafe import MetacafeIE
+from .metacritic import MetacriticIE
+from .mit import TechTVMITIE, MITIE
from .mixcloud import MixcloudIE
+from .mofosex import MofosexIE
from .mtv import MTVIE
+from .muzu import MuzuTVIE
+from .myspace import MySpaceIE
from .myspass import MySpassIE
from .myvideo import MyVideoIE
+from .naver import NaverIE
from .nba import NBAIE
+from .nbc import NBCNewsIE
+from .ndtv import NDTVIE
+from .newgrounds import NewgroundsIE
+from .nhl import NHLIE, NHLVideocenterIE
+from .niconico import NiconicoIE
+from .ninegag import NineGagIE
+from .nowvideo import NowVideoIE
+from .ooyala import OoyalaIE
+from .orf import ORFIE
+from .pbs import PBSIE
from .photobucket import PhotobucketIE
+from .podomatic import PodomaticIE
+from .pornhd import PornHdIE
+from .pornhub import PornHubIE
from .pornotube import PornotubeIE
+from .pyvideo import PyvideoIE
+from .radiofrance import RadioFranceIE
from .rbmaradio import RBMARadioIE
from .redtube import RedTubeIE
-from .soundcloud import SoundcloudIE, SoundcloudSetIE
+from .ringtv import RingTVIE
+from .ro220 import Ro220IE
+from .rottentomatoes import RottenTomatoesIE
+from .roxwel import RoxwelIE
+from .rtlnow import RTLnowIE
+from .rutube import RutubeIE
+from .sina import SinaIE
+from .slashdot import SlashdotIE
+from .slideshare import SlideshareIE
+from .smotri import (
+ SmotriIE,
+ SmotriCommunityIE,
+ SmotriUserIE,
+ SmotriBroadcastIE,
+)
+from .sohu import SohuIE
+from .soundcloud import SoundcloudIE, SoundcloudSetIE, SoundcloudUserIE
+from .southparkstudios import (
+ SouthParkStudiosIE,
+ SouthparkDeIE,
+)
+from .space import SpaceIE
+from .spankwire import SpankwireIE
from .spiegel import SpiegelIE
from .stanfordoc import StanfordOpenClassroomIE
from .statigram import StatigramIE
from .steam import SteamIE
+from .streamcloud import StreamcloudIE
+from .sztvhu import SztvHuIE
from .teamcoco import TeamcocoIE
+from .techtalks import TechTalksIE
from .ted import TEDIE
+from .tf1 import TF1IE
+from .theplatform import ThePlatformIE
+from .thisav import ThisAVIE
+from .toutv import TouTvIE
+from .traileraddict import TrailerAddictIE
+from .trilulilu import TriluliluIE
+from .tube8 import Tube8IE
from .tudou import TudouIE
from .tumblr import TumblrIE
-from .ustream import UstreamIE
+from .tutv import TutvIE
+from .tvp import TvpIE
+from .unistra import UnistraIE
+from .ustream import UstreamIE, UstreamChannelIE
from .vbox7 import Vbox7IE
+from .veehd import VeeHDIE
+from .veoh import VeohIE
from .vevo import VevoIE
-from .vimeo import VimeoIE
+from .vice import ViceIE
+from .viddler import ViddlerIE
+from .videodetective import VideoDetectiveIE
+from .videofyme import VideofyMeIE
+from .videopremium import VideoPremiumIE
+from .vimeo import (
+ VimeoIE,
+ VimeoChannelIE,
+ VimeoUserIE,
+ VimeoAlbumIE,
+ VimeoGroupsIE,
+)
from .vine import VineIE
+from .viki import VikiIE
+from .vk import VKIE
+from .wat import WatIE
+from .websurg import WeBSurgIE
+from .weibo import WeiboIE
from .wimp import WimpIE
+from .wistia import WistiaIE
from .worldstarhiphop import WorldStarHipHopIE
from .xhamster import XHamsterIE
from .xnxx import XNXXIE
from .xvideos import XVideosIE
-from .yahoo import YahooIE, YahooSearchIE
+from .xtube import XTubeIE
+from .yahoo import (
+ YahooIE,
+ YahooNewsIE,
+ YahooSearchIE,
+)
from .youjizz import YouJizzIE
from .youku import YoukuIE
from .youporn import YouPornIE
-from .youtube import YoutubeIE, YoutubePlaylistIE, YoutubeSearchIE, YoutubeUserIE, YoutubeChannelIE
+from .youtube import (
+ YoutubeIE,
+ YoutubePlaylistIE,
+ YoutubeSearchIE,
+ YoutubeSearchDateIE,
+ YoutubeUserIE,
+ YoutubeChannelIE,
+ YoutubeShowIE,
+ YoutubeSubscriptionsIE,
+ YoutubeRecommendedIE,
+ YoutubeTruncatedURLIE,
+ YoutubeWatchLaterIE,
+ YoutubeFavouritesIE,
+ YoutubeHistoryIE,
+ YoutubeTopListIE,
+)
from .zdf import ZDFIE
+_ALL_CLASSES = [
+ klass
+ for name, klass in globals().items()
+ if name.endswith('IE') and name != 'GenericIE'
+]
+_ALL_CLASSES.append(GenericIE)
+
+
def gen_extractors():
""" Return a list of an instance of every supported extractor.
The order does matter; the first extractor matched is the one handling the URL.
"""
- return [
- YoutubePlaylistIE(),
- YoutubeChannelIE(),
- YoutubeUserIE(),
- YoutubeSearchIE(),
- YoutubeIE(),
- MetacafeIE(),
- DailymotionIE(),
- GoogleSearchIE(),
- PhotobucketIE(),
- YahooIE(),
- YahooSearchIE(),
- DepositFilesIE(),
- FacebookIE(),
- BlipTVIE(),
- BlipTVUserIE(),
- VimeoIE(),
- MyVideoIE(),
- ComedyCentralIE(),
- EscapistIE(),
- CollegeHumorIE(),
- XVideosIE(),
- SoundcloudSetIE(),
- SoundcloudIE(),
- InfoQIE(),
- MixcloudIE(),
- StanfordOpenClassroomIE(),
- MTVIE(),
- YoukuIE(),
- XNXXIE(),
- YouJizzIE(),
- PornotubeIE(),
- YouPornIE(),
- GooglePlusIE(),
- ArteTvIE(),
- NBAIE(),
- WorldStarHipHopIE(),
- JustinTVIE(),
- FunnyOrDieIE(),
- SteamIE(),
- UstreamIE(),
- RBMARadioIE(),
- EightTracksIE(),
- KeekIE(),
- TEDIE(),
- MySpassIE(),
- SpiegelIE(),
- LiveLeakIE(),
- ARDIE(),
- ZDFIE(),
- TumblrIE(),
- BandcampIE(),
- RedTubeIE(),
- InaIE(),
- HowcastIE(),
- VineIE(),
- FlickrIE(),
- TeamcocoIE(),
- XHamsterIE(),
- HypemIE(),
- Vbox7IE(),
- GametrailersIE(),
- StatigramIE(),
- BreakIE(),
- VevoIE(),
- JukeboxIE(),
- TudouIE(),
- CSpanIE(),
- WimpIE(),
- GenericIE()
- ]
+ return [klass() for klass in _ALL_CLASSES]
+
def get_info_extractor(ie_name):
"""Returns the info extractor class with the given ie_name"""