X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Ftrilulilu.py;h=220a05b7b493fb728f3cd3c6dab74208a8f587eb;hb=f23a3ca69975346d5fc30ee09b0cdceb4a384879;hp=0bf028f6195ba56be22e059bdc83d23cbabff59b;hpb=f219743e33a9a640bfc3845d74282774e51e1ad4;p=youtube-dl diff --git a/youtube_dl/extractor/trilulilu.py b/youtube_dl/extractor/trilulilu.py index 0bf028f61..220a05b7b 100644 --- a/youtube_dl/extractor/trilulilu.py +++ b/youtube_dl/extractor/trilulilu.py @@ -1,29 +1,28 @@ +from __future__ import unicode_literals + import json -import re -import xml.etree.ElementTree from .common import InfoExtractor class TriluliluIE(InfoExtractor): - _VALID_URL = r'(?x)(?:https?://)?(?:www\.)?trilulilu\.ro/video-(?P[^/]+)/(?P[^/]+)' + _VALID_URL = r'https?://(?:www\.)?trilulilu\.ro/video-[^/]+/(?P[^/]+)' _TEST = { - u"url": u"http://www.trilulilu.ro/video-animatie/big-buck-bunny-1", - u'file': u"big-buck-bunny-1.mp4", - u'info_dict': { - u"title": u"Big Buck Bunny", - u"description": u":) pentru copilul din noi", + 'url': 'http://www.trilulilu.ro/video-animatie/big-buck-bunny-1', + 'info_dict': { + 'id': 'big-buck-bunny-1', + 'ext': 'mp4', + 'title': 'Big Buck Bunny', + 'description': ':) pentru copilul din noi', }, # Server ignores Range headers (--test) - u"params": { - u"skip_download": True + 'params': { + 'skip_download': True } } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('video_id') - + video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) title = self._og_search_title(webpage) @@ -31,22 +30,20 @@ class TriluliluIE(InfoExtractor): description = self._og_search_description(webpage) log_str = self._search_regex( - r'block_flash_vars[ ]=[ ]({[^}]+})', webpage, u'log info') + r'block_flash_vars[ ]=[ ]({[^}]+})', webpage, 'log info') log = json.loads(log_str) - format_url = (u'http://fs%(server)s.trilulilu.ro/%(hash)s/' - u'video-formats2' % log) - format_str = self._download_webpage( + format_url = ('http://fs%(server)s.trilulilu.ro/%(hash)s/' + 'video-formats2' % log) + format_doc = self._download_xml( format_url, video_id, - note=u'Downloading formats', - errnote=u'Error while downloading formats') + note='Downloading formats', + errnote='Error while downloading formats') - format_doc = xml.etree.ElementTree.fromstring(format_str) - video_url_template = ( - u'http://fs%(server)s.trilulilu.ro/stream.php?type=video' - u'&source=site&hash=%(hash)s&username=%(userid)s&' - u'key=ministhebest&format=%%s&sig=&exp=' % + 'http://fs%(server)s.trilulilu.ro/stream.php?type=video' + '&source=site&hash=%(hash)s&username=%(userid)s&' + 'key=ministhebest&format=%%s&sig=&exp=' % log) formats = [ { @@ -58,7 +55,7 @@ class TriluliluIE(InfoExtractor): for fnode in format_doc.findall('./formats/format') ] - info = { + return { '_type': 'video', 'id': video_id, 'formats': formats, @@ -66,8 +63,3 @@ class TriluliluIE(InfoExtractor): 'description': description, 'thumbnail': thumbnail, } - - # TODO: Remove when #980 has been merged - info.update(formats[-1]) - - return info