adds thumbnail support for ZDF Mediathek extractor
authorkennell <kevin@fileperms.org>
Sun, 18 Oct 2015 17:56:22 +0000 (19:56 +0200)
committerkennell <kevin@fileperms.org>
Sun, 18 Oct 2015 17:56:22 +0000 (19:56 +0200)
youtube_dl/extractor/zdf.py

index 98f15177bd6665bd1c6b96a071d59d4b67e5d918..f376025e112eb4701b307f87ecd9320fa794214f 100644 (file)
@@ -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,