From a2bb0e38cf69417ad479e7584d9729c2cf0fdb2d Mon Sep 17 00:00:00 2001 From: Tomuxs Date: Tue, 26 Aug 2025 18:01:53 +0200 Subject: [PATCH] Don't die on missing thumbnails --- py34/post.py | 9 ++++++++- py34/scraper.py | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/py34/post.py b/py34/post.py index 2e34f69..4b4ffdc 100644 --- a/py34/post.py +++ b/py34/post.py @@ -3,6 +3,7 @@ from .url import ImageURL, ThumbnailURL, IMAGE_FORMATS from io import BytesIO from PIL import Image from PIL.ImageFile import ImageFile +import time class Post: @@ -34,7 +35,13 @@ class Post: def get_thumbnail_data(self) -> bytes: if self._thumbnail_data is not None: return self._thumbnail_data - self._thumbnail_data = scraper.get(ThumbnailURL(self.image_dir, self.image_id)) + for i in range(5): + res = scraper.get(ThumbnailURL(self.image_dir, self.image_id), retry=False) + if res.status_code == 200: + self._thumbnail_data = res.content + if res.status_code == 404: + self._thumbnail_data = b"" + time.sleep(5) return self._thumbnail_data diff --git a/py34/scraper.py b/py34/scraper.py index fb66a2b..a01ed37 100644 --- a/py34/scraper.py +++ b/py34/scraper.py @@ -40,7 +40,7 @@ class Scraper: if not body: return res if res.status_code != 200: - raise ScraperException(res, "Request did not succeed") + raise ScraperException(res, f"Request did not succeed: {method} {url}") return res.content @retry(Exception, tries=5, delay=5)