X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fanitube.py;h=2fd912da452dce26fb2e4ed2f939a22fa431f3dc;hb=2f483bc1c389709623117079439708783122b5ec;hp=2954966a6e6d8d8517e90aa5efa464d85dcfef81;hpb=ba3881dffd241d8719430c31f107156ed8830996;p=youtube-dl diff --git a/youtube_dl/extractor/anitube.py b/youtube_dl/extractor/anitube.py index 2954966a6..2fd912da4 100644 --- a/youtube_dl/extractor/anitube.py +++ b/youtube_dl/extractor/anitube.py @@ -1,59 +1,30 @@ -import re -import xml.etree.ElementTree +from __future__ import unicode_literals -from .common import InfoExtractor +from .nuevo import NuevoBaseIE -class AnitubeIE(InfoExtractor): - IE_NAME = u'anitube.se' - _VALID_URL = r'http?://(?:www\.)?anitube\.se/video/(?P\d+)' +class AnitubeIE(NuevoBaseIE): + 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): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') + video_id = self._match_id(url) 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')) - - video_title = config_xml.find('title').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({ - 'format_id': 'hd', - 'url': video_url.text, - }) - - return { - 'id': video_id, - 'title': video_title, - 'ext': 'mp4', - 'formats': formats - } + return self._extract_nuevo( + 'http://www.anitube.se/nuevo/econfig.php?key=%s' % key, video_id)