summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-12-11 23:50:25 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-12-11 23:50:25 +0100
commit807962f4a14c08d397dd7a015aaa3f8948f6af82 (patch)
tree650046f982007b7b4d2d26e063a834ddb0b6baa6
parent69f491f14e132a54e8ca7de291183dced64d461d (diff)
downloadyoutube-dl-807962f4a14c08d397dd7a015aaa3f8948f6af82.tar.gz
youtube-dl-807962f4a14c08d397dd7a015aaa3f8948f6af82.tar.xz
youtube-dl-807962f4a14c08d397dd7a015aaa3f8948f6af82.zip
[pornhd] Adapt to new sources scheme (Fixes #4446)
-rw-r--r--youtube_dl/extractor/pornhd.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/youtube_dl/extractor/pornhd.py b/youtube_dl/extractor/pornhd.py
index bac484c67..63472b33e 100644
--- a/youtube_dl/extractor/pornhd.py
+++ b/youtube_dl/extractor/pornhd.py
@@ -45,13 +45,18 @@ class PornHdIE(InfoExtractor):
         thumbnail = self._search_regex(
             r"'poster'\s*:\s*'([^']+)'", webpage, 'thumbnail', fatal=False)
 
-        quality = qualities(['SD', 'HD'])
-        formats = [{
-            'url': source['file'],
-            'format_id': '%s-%s' % (source['label'], determine_ext(source['file'])),
-            'quality': quality(source['label']),
-        } for source in json.loads(js_to_json(self._search_regex(
-            r"(?s)'sources'\s*:\s*(\[.+?\])", webpage, 'sources')))]
+        quality = qualities(['sd', 'hd'])
+        sources = json.loads(js_to_json(self._search_regex(
+            r"(?s)'sources'\s*:\s*(\{.+?\})\s*\}\);", webpage, 'sources')))
+        formats = []
+        for container, s in sources.items():
+            for qname, video_url in s.items():
+                formats.append({
+                    'url': video_url,
+                    'container': container,
+                    'format_id': '%s-%s' % (container, qname),
+                    'quality': quality(qname),
+                })
         self._sort_formats(formats)
 
         return {