You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
# encoding: utf-8 |
|
from __future__ import unicode_literals |
|
|
|
from .common import InfoExtractor |
|
|
|
from ..utils import ( |
|
float_or_none, |
|
xpath_text |
|
) |
|
|
|
|
|
class NuevoBaseIE(InfoExtractor): |
|
def _extract_nuevo(self, config_url, video_id): |
|
config = self._download_xml( |
|
config_url, video_id, transform_source=lambda s: s.strip()) |
|
|
|
title = xpath_text(config, './title', 'title', fatal=True).strip() |
|
video_id = xpath_text(config, './mediaid', default=video_id) |
|
thumbnail = xpath_text(config, ['./image', './thumb']) |
|
duration = float_or_none(xpath_text(config, './duration')) |
|
|
|
formats = [] |
|
for element_name, format_id in (('file', 'sd'), ('filehd', 'hd')): |
|
video_url = xpath_text(config, element_name) |
|
if video_url: |
|
formats.append({ |
|
'url': video_url, |
|
'format_id': format_id, |
|
}) |
|
self._check_formats(formats, video_id) |
|
|
|
return { |
|
'id': video_id, |
|
'title': title, |
|
'thumbnail': thumbnail, |
|
'duration': duration, |
|
'formats': formats |
|
}
|
|
|