diff options
| -rw-r--r-- | youtube_dl/extractor/zdf.py | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/zdf.py b/youtube_dl/extractor/zdf.py index 98f15177b..c2b196504 100644 --- a/youtube_dl/extractor/zdf.py +++ b/youtube_dl/extractor/zdf.py @@ -70,6 +70,22 @@ def extract_from_xml_url(ie, video_id, xml_url):              '_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')      formats = list(filter(          lambda f: f['_available'], @@ -81,6 +97,7 @@ def extract_from_xml_url(ie, video_id, xml_url):          'title': title,          'description': description,          'duration': duration, +        'thumbnails': thumbnails,          'uploader': uploader,          'uploader_id': uploader_id,          'upload_date': upload_date, | 
