[pornhd] Improve formats extraction

This commit is contained in:
Sergey M․ 2016-06-18 05:37:53 +07:00
parent d0d93f76ea
commit e6fe993c31
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -7,7 +7,6 @@
from ..utils import (
int_or_none,
js_to_json,
qualities,
)
@ -46,18 +45,19 @@ def _real_extract(self, url):
thumbnail = self._search_regex(
r"'poster'\s*:\s*'([^']+)'", webpage, 'thumbnail', fatal=False)
quality = qualities(['sd', 'hd'])
sources = json.loads(js_to_json(self._search_regex(
r"(?s)'sources'\s*:\s*(\{.+?\})\s*\}[;,)]",
webpage, 'sources')))
formats = []
for qname, video_url in sources.items():
for format_id, video_url in sources.items():
if not video_url:
continue
height = int_or_none(self._search_regex(
r'^(\d+)[pP]', format_id, 'height', default=None))
formats.append({
'url': video_url,
'format_id': qname,
'quality': quality(qname),
'format_id': format_id,
'height': height,
})
self._sort_formats(formats)