From: Philipp Hagemeister Date: Tue, 13 May 2014 08:11:14 +0000 (+0200) Subject: Merge remote-tracking branch 'hojel/empflix' X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=commitdiff_plain;h=feb72212091189353c0d6308fa20e4f33cc82da1;hp=56a94d8cbbad26487cd25d4f0ff94f9f5bcb03be Merge remote-tracking branch 'hojel/empflix' --- diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 3b10fc819..3503c76b7 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -72,6 +72,7 @@ from .ehow import EHowIE from .eighttracks import EightTracksIE from .eitb import EitbIE from .elpais import ElPaisIE +from .empflix import EmpflixIE from .engadget import EngadgetIE from .escapist import EscapistIE from .everyonesmixtape import EveryonesMixtapeIE diff --git a/youtube_dl/extractor/empflix.py b/youtube_dl/extractor/empflix.py new file mode 100644 index 000000000..e7abbb5d6 --- /dev/null +++ b/youtube_dl/extractor/empflix.py @@ -0,0 +1,46 @@ +import re + +from .common import InfoExtractor +from ..utils import ( + ExtractorError, +) + +class EmpflixIE(InfoExtractor): + _VALID_URL = r'^https?://www\.empflix\.com/videos/(?P[^\.]+)\.html' + _TEST = { + u'url': u'http://www.empflix.com/videos/Amateur-Finger-Fuck-33051.html', + u'file': u'Amateur-Finger-Fuck-33051.flv', + u'md5': u'5e5cc160f38ca9857f318eb97146e13e', + u'info_dict': { + u"title": u"Amateur Finger Fuck", + u"age_limit": 18, + } + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + + video_id = mobj.group('videoid') + + # Get webpage content + webpage = self._download_webpage(url, video_id) + + age_limit = self._rta_search(webpage) + + # Get the video title + video_title = self._html_search_regex(r'name="title" value="(?P[^"]*)"', + webpage, u'title').strip() + + cfg_url = self._html_search_regex(r'flashvars\.config = escape\("([^"]+)"', + webpage, u'flashvars.config').strip() + + cfg_xml = self._download_xml(cfg_url, video_id, note=u'Downloading metadata') + video_url = cfg_xml.find('videoLink').text + + info = {'id': video_id, + 'url': video_url, + 'title': video_title, + 'ext': 'flv', + 'age_limit': age_limit} + + return [info]