From 12132667ec21012acdab68761c8b2b2e77fdf4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 29 Sep 2025 10:01:31 +0200 Subject: [PATCH] [paheal] normalize "No results" output message (#8313) --- gallery_dl/extractor/paheal.py | 16 +++++++++++++--- test/results/paheal.py | 14 ++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/gallery_dl/extractor/paheal.py b/gallery_dl/extractor/paheal.py index 5245f314..490243af 100644 --- a/gallery_dl/extractor/paheal.py +++ b/gallery_dl/extractor/paheal.py @@ -9,7 +9,7 @@ """Extractors for https://rule34.paheal.net/""" from .common import Extractor, Message -from .. import text +from .. import text, exception class PahealExtractor(Extractor): @@ -97,7 +97,12 @@ class PahealTagExtractor(PahealExtractor): base = f"{self.root}/post/list/{self.groups[0]}/" while True: - page = self.request(base + str(pnum)).text + try: + page = self.request(f"{base}{pnum}").text + except exception.HttpError as exc: + if exc.status == 404: + return + raise pos = page.find("id='image-list'") for post in text.extract_iter( @@ -146,4 +151,9 @@ class PahealPostExtractor(PahealExtractor): example = "https://rule34.paheal.net/post/view/12345" def get_posts(self): - return (self._extract_post(self.groups[0]),) + try: + return (self._extract_post(self.groups[0]),) + except exception.HttpError as exc: + if exc.status == 404: + return () + raise diff --git a/test/results/paheal.py b/test/results/paheal.py index 8d5f37e2..eca6f53a 100644 --- a/test/results/paheal.py +++ b/test/results/paheal.py @@ -60,6 +60,13 @@ __tests__ = ( "#count" : 200, }, +{ + "#url" : "https://rule34.paheal.net/post/list/non_existant_tag/1", + "#category": ("shimmie2", "paheal", "tag"), + "#class" : paheal.PahealTagExtractor, + "#count" : 0, +}, + { "#url" : "https://rule34.paheal.net/post/view/481609", "#category": ("shimmie2", "paheal", "post"), @@ -116,4 +123,11 @@ __tests__ = ( "width" : 1768, }, +{ + "#url" : "https://rule34.paheal.net/post/view/7", + "#category": ("shimmie2", "paheal", "post"), + "#class" : paheal.PahealPostExtractor, + "#count" : 0, +}, + )