diff options
Diffstat (limited to 'youtube_dl/extractor')
| -rw-r--r-- | youtube_dl/extractor/zdf.py | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/youtube_dl/extractor/zdf.py b/youtube_dl/extractor/zdf.py index 98f15177b..f376025e1 100644 --- a/youtube_dl/extractor/zdf.py +++ b/youtube_dl/extractor/zdf.py @@ -70,6 +70,23 @@ def extract_from_xml_url(ie, video_id, xml_url):              '_available': is_available,          } +    def xml_to_thumbnails(fnode): +        thumbnails = list() +        for node in fnode: +            width_x_height = node.attrib['key'] +            thumbnail = { +                'url': node.text, +                'width': int(width_x_height.split('x')[0]), +                'height': int(width_x_height.split('x')[1]) +            } +            thumbnails.append(thumbnail) +        return thumbnails + + +    thumbnail_nodes = doc.findall('.//teaserimages/teaserimage') +    thumbnails = xml_to_thumbnails(thumbnail_nodes) +    thumbnail = thumbnails[-1]['url'] +      format_nodes = doc.findall('.//formitaeten/formitaet')      formats = list(filter(          lambda f: f['_available'], @@ -81,6 +98,8 @@ def extract_from_xml_url(ie, video_id, xml_url):          'title': title,          'description': description,          'duration': duration, +        'thumbnail': thumbnail, +        'thumbnails': thumbnails,          'uploader': uploader,          'uploader_id': uploader_id,          'upload_date': upload_date,  | 
