X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fanitube.py;h=23f942ae2d039cf92c9a67934a07d3062f744b0d;hb=9f0ee2a3883ec6f6fdccba90085cb925aaa2f617;hp=2954966a6e6d8d8517e90aa5efa464d85dcfef81;hpb=ba3881dffd241d8719430c31f107156ed8830996;p=youtube-dl diff --git a/youtube_dl/extractor/anitube.py b/youtube_dl/extractor/anitube.py index 2954966a6..23f942ae2 100644 --- a/youtube_dl/extractor/anitube.py +++ b/youtube_dl/extractor/anitube.py @@ -1,21 +1,24 @@ +from __future__ import unicode_literals + import re -import xml.etree.ElementTree from .common import InfoExtractor class AnitubeIE(InfoExtractor): - IE_NAME = u'anitube.se' - _VALID_URL = r'http?://(?:www\.)?anitube\.se/video/(?P\d+)' + IE_NAME = 'anitube.se' + _VALID_URL = r'https?://(?:www\.)?anitube\.se/video/(?P\d+)' _TEST = { - u'url': u'http://www.anitube.se/video/36621', - u'md5': u'0c4e4f1051bf50f5982f829f7230f539', - u'info_dict': { - u'id': u'36621', - u'ext': u'mp4', - u'title': u'Recorder to Randoseru 01', + 'url': 'http://www.anitube.se/video/36621', + 'md5': '59d0eeae28ea0bc8c05e7af429998d43', + 'info_dict': { + 'id': '36621', + 'ext': 'mp4', + 'title': 'Recorder to Randoseru 01', + 'duration': 180.19, }, + 'skip': 'Blocked in the US', } def _real_extract(self, url): @@ -23,27 +26,23 @@ class AnitubeIE(InfoExtractor): video_id = mobj.group('id') webpage = self._download_webpage(url, video_id) + key = self._search_regex( + r'src=["\']https?://[^/]+/embed/([A-Za-z0-9_-]+)', webpage, 'key') - key = self._html_search_regex(r'http://www\.anitube\.se/embed/([A-Za-z0-9_-]*)', - webpage, u'key') - - webpage_config = self._download_webpage('http://www.anitube.se/nuevo/econfig.php?key=%s' % key, - key) - - config_xml = xml.etree.ElementTree.fromstring(webpage_config.encode('utf-8')) + config_xml = self._download_xml( + 'http://www.anitube.se/nuevo/econfig.php?key=%s' % key, key) video_title = config_xml.find('title').text - + thumbnail = config_xml.find('image').text + duration = float(config_xml.find('duration').text) formats = [] - video_url = config_xml.find('file') if video_url is not None: formats.append({ 'format_id': 'sd', 'url': video_url.text, }) - video_url = config_xml.find('filehd') if video_url is not None: formats.append({ @@ -54,6 +53,7 @@ class AnitubeIE(InfoExtractor): return { 'id': video_id, 'title': video_title, - 'ext': 'mp4', + 'thumbnail': thumbnail, + 'duration': duration, 'formats': formats }