From c15351641cb260e081077c2adceaf7cc84e65d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Po=C5=82tyn?= Date: Thu, 30 Jan 2025 15:20:10 +0100 Subject: [PATCH 1/2] [Eporner] Check if video was deleted This gives user a friendly error message, instead of a stacktrace --- youtube_dl/extractor/eporner.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/youtube_dl/extractor/eporner.py b/youtube_dl/extractor/eporner.py index bfecd3a41..6608cc0d3 100644 --- a/youtube_dl/extractor/eporner.py +++ b/youtube_dl/extractor/eporner.py @@ -59,6 +59,11 @@ class EpornerIE(InfoExtractor): video_id = self._match_id(urlh.geturl()) + deleted = self._html_search_regex(r'Video has been deleted', webpage, 'deleted', default=False, fatal=False, group=0) + if deleted: + raise ExtractorError( + 'Video %s has been deleted' % video_id, expected=True) + hash = self._search_regex( r'hash\s*[:=]\s*["\']([\da-f]{32})', webpage, 'hash') From 8d2170c713253c02eee11d3b1822a6dd808545fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Po=C5=82tyn?= Date: Sat, 8 Mar 2025 22:01:54 +0100 Subject: [PATCH 2/2] Relax HTML constraints on error message Co-authored-by: dirkf --- youtube_dl/extractor/eporner.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/eporner.py b/youtube_dl/extractor/eporner.py index 6608cc0d3..1cf52d899 100644 --- a/youtube_dl/extractor/eporner.py +++ b/youtube_dl/extractor/eporner.py @@ -59,10 +59,12 @@ class EpornerIE(InfoExtractor): video_id = self._match_id(urlh.geturl()) - deleted = self._html_search_regex(r'Video has been deleted', webpage, 'deleted', default=False, fatal=False, group=0) - if deleted: + missing = self._html_search_regex(( + r'\s*(Video has been deleted)\s*', + ), webpage, 'missing', default=None) + if missing: raise ExtractorError( - 'Video %s has been deleted' % video_id, expected=True) + 'Video %s is not available: "%s"' % (video_id, missing), expected=True) hash = self._search_regex( r'hash\s*[:=]\s*["\']([\da-f]{32})', webpage, 'hash')