X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fcriterion.py;h=31fe3d57b31ccddccadbbcbb66244ef6aea63cd2;hb=948bcc60df48415ddbf3d7ea03bc3af53a9d928d;hp=d1fe7fc3c10485fa167eb4c556955afb05b3bbfe;hpb=159736c1b81e2897e91369f399eceacaa09192b4;p=youtube-dl diff --git a/youtube_dl/extractor/criterion.py b/youtube_dl/extractor/criterion.py index d1fe7fc3c..31fe3d57b 100644 --- a/youtube_dl/extractor/criterion.py +++ b/youtube_dl/extractor/criterion.py @@ -3,29 +3,38 @@ import re from .common import InfoExtractor +from ..utils import determine_ext class CriterionIE(InfoExtractor): - _VALID_URL = r'http://www.criterion.com/films/(.*)' + _VALID_URL = r'https?://www\.criterion\.com/films/(\d*)-.+' + _TEST = { + u'url': u'http://www.criterion.com/films/184-le-samourai', + u'file': u'184.mp4', + u'md5': u'bc51beba55685509883a9a7830919ec3', + u'info_dict': { + u"title": u"Le Samouraï", + u"description" : u'md5:a2b4b116326558149bef81f76dcbb93f', + } + } def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) - video_id = mobj.group(1).split('-')[0] + video_id = mobj.group(1) webpage = self._download_webpage(url, video_id) final_url = self._search_regex(r'so.addVariable\("videoURL", "(.+?)"\)\;', webpage, 'video url') - title = self._search_regex(r'', + title = self._html_search_regex(r'', webpage, 'video title') - description = self._search_regex(r'', + description = self._html_search_regex(r'', webpage, 'video description') thumbnail = self._search_regex(r'so.addVariable\("thumbnailURL", "(.+?)"\)\;', webpage, 'thumbnail url') - ext = final_url.split('.')[-1] return {'id': video_id, 'url' : final_url, 'title': title, - 'ext': ext, + 'ext': determine_ext(final_url), 'description': description, 'thumbnail': thumbnail, }