|
|
@ -70,6 +70,22 @@ def extract_from_xml_url(ie, video_id, xml_url):
|
|
|
|
'_available': is_available,
|
|
|
|
'_available': is_available,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xml_to_thumbnails(fnode):
|
|
|
|
|
|
|
|
thumbnails = list()
|
|
|
|
|
|
|
|
for node in fnode:
|
|
|
|
|
|
|
|
thumbnail = {'url': node.text}
|
|
|
|
|
|
|
|
if 'key' in node.attrib:
|
|
|
|
|
|
|
|
m = re.match('^([0-9]+)x([0-9]+)$', node.attrib['key'])
|
|
|
|
|
|
|
|
if m:
|
|
|
|
|
|
|
|
thumbnail['width'] = int(m.group(1))
|
|
|
|
|
|
|
|
thumbnail['height'] = int(m.group(2))
|
|
|
|
|
|
|
|
thumbnails.append(thumbnail)
|
|
|
|
|
|
|
|
return thumbnails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
thumbnail_nodes = doc.findall('.//teaserimages/teaserimage')
|
|
|
|
|
|
|
|
thumbnails = xml_to_thumbnails(thumbnail_nodes)
|
|
|
|
|
|
|
|
|
|
|
|
format_nodes = doc.findall('.//formitaeten/formitaet')
|
|
|
|
format_nodes = doc.findall('.//formitaeten/formitaet')
|
|
|
|
formats = list(filter(
|
|
|
|
formats = list(filter(
|
|
|
|
lambda f: f['_available'],
|
|
|
|
lambda f: f['_available'],
|
|
|
@ -81,6 +97,7 @@ def extract_from_xml_url(ie, video_id, xml_url):
|
|
|
|
'title': title,
|
|
|
|
'title': title,
|
|
|
|
'description': description,
|
|
|
|
'description': description,
|
|
|
|
'duration': duration,
|
|
|
|
'duration': duration,
|
|
|
|
|
|
|
|
'thumbnails': thumbnails,
|
|
|
|
'uploader': uploader,
|
|
|
|
'uploader': uploader,
|
|
|
|
'uploader_id': uploader_id,
|
|
|
|
'uploader_id': uploader_id,
|
|
|
|
'upload_date': upload_date,
|
|
|
|
'upload_date': upload_date,
|
|
|
|