From e4039057be0fc38828e0a39f83b2f5d469414f8e Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Mon, 1 Sep 2014 23:04:36 +0200 Subject: [PATCH] [hornbunny] Simplify and add age_limit --- youtube_dl/extractor/hornbunny.py | 34 +++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/youtube_dl/extractor/hornbunny.py b/youtube_dl/extractor/hornbunny.py index a42fba0cb..7e7714438 100644 --- a/youtube_dl/extractor/hornbunny.py +++ b/youtube_dl/extractor/hornbunny.py @@ -4,7 +4,11 @@ import re from .common import InfoExtractor -from ..utils import int_or_none +from ..utils import ( + int_or_none, + parse_duration, +) + class HornBunnyIE(InfoExtractor): _VALID_URL = r'http?://(?:www\.)?hornbunny\.com/videos/(?P[a-z-]+)-(?P\d+)\.html' @@ -15,7 +19,8 @@ class HornBunnyIE(InfoExtractor): 'id': '5227', 'ext': 'flv', 'title': 'panty slut jerk off instruction', - 'duration': 550 + 'duration': 550, + 'age_limit': 18, } } @@ -23,16 +28,22 @@ def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') - webpage = self._download_webpage(url, video_id) - title = self._html_search_regex(r'class="title">(.*?)', webpage, 'title') - redirect_url = self._html_search_regex(r'pg&settings=(.*?)\|0"\);', webpage, 'title') + webpage = self._download_webpage( + url, video_id, note='Downloading initial webpage') + title = self._html_search_regex( + r'class="title">(.*?)', webpage, 'title') + redirect_url = self._html_search_regex( + r'pg&settings=(.*?)\|0"\);', webpage, 'title') webpage2 = self._download_webpage(redirect_url, video_id) - video_url = self._html_search_regex(r'flvMask:(.*?);', webpage2, 'video_url') + video_url = self._html_search_regex( + r'flvMask:(.*?);', webpage2, 'video_url') - mobj = re.search(r'Runtime: (?P\d+):(?P\d+)', webpage) - duration = int(mobj.group('minutes')) * 60 + int(mobj.group('seconds')) if mobj else None - - view_count = self._html_search_regex(r'Views: (\d+)', webpage, 'view count', fatal=False) + duration = parse_duration(self._search_regex( + r'Runtime:\s*([0-9:]+)', + webpage, 'duration', fatal=False)) + view_count = int_or_none(self._search_regex( + r'Views:\s*(\d+)', + webpage, 'view count', fatal=False)) return { 'id': video_id, @@ -40,5 +51,6 @@ def _real_extract(self, url): 'title': title, 'ext': 'flv', 'duration': duration, - 'view_count': int_or_none(view_count), + 'view_count': view_count, + 'age_limit': 18, }