From b3af4c27878c132852dfe68f59e86f434aac9ac3 Mon Sep 17 00:00:00 2001 From: Andy Savicki Date: Thu, 17 Nov 2016 03:13:20 +0300 Subject: [PATCH] [ruleporn] Add requested changes for pull request #11207 --- youtube_dl/extractor/ruleporn.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/youtube_dl/extractor/ruleporn.py b/youtube_dl/extractor/ruleporn.py index e6db29d25..3195644e9 100644 --- a/youtube_dl/extractor/ruleporn.py +++ b/youtube_dl/extractor/ruleporn.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import re from .nuevo import NuevoBaseIE +from ..utils import int_or_none class RulePornIE(NuevoBaseIE): _VALID_URL = r'https?://(?:www\.)?ruleporn\.com/(?:[^/?#&]+/)*(?P[^/?#&]+)' @@ -57,11 +58,11 @@ class RulePornIE(NuevoBaseIE): video_url = self._search_regex( r'\s+[^\"\' ]+))', webpage, 'video url') - mobj = re.search(r'lovehomeporn\.com/embed/(\d+)', video_url) + video_id = self._search_regex( + r'lovehomeporn\.com/embed/(\d+)', video_url, 'video_id', default=None) - if mobj: + if video_id: - video_id = mobj.group(1) info = self._extract_nuevo( 'http://lovehomeporn.com/media/nuevo/econfig.php?key=%s&rp=true' % video_id, video_id) @@ -78,13 +79,13 @@ class RulePornIE(NuevoBaseIE): video_page = self._download_webpage(video_url, display_id) js_str = self._search_regex( - r'\s+var\s+item\s+=\s+({[^}]+});', video_page, 'js_str') + r'var\s+item\s+=\s+({.+(?=};)});', video_page, 'js_str') js_obj = self._parse_json(js_str, display_id) - video_id = '%s' % js_obj.get("id") - duration = js_obj.get("video_duration") - thumbnail = js_obj.get("url_thumb") + video_id = '%s' % js_obj.get('id') + duration = int_or_none(js_obj.get('video_duration')) + thumbnail = js_obj.get('url_thumb') formats = [] for element_name, format_id in (('url_mp4_lowres', 'ld'), ('url_mp4', 'sd'), ('url_orig', 'hd')):