From 8d167610ac10507f47d5f0c72b3f3016adfd6172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 28 Jul 2025 17:52:20 +0200 Subject: [PATCH] [instagram] warn about lower quality image downloads (#7921) --- gallery_dl/extractor/instagram.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gallery_dl/extractor/instagram.py b/gallery_dl/extractor/instagram.py index 6213e9ac..4c01c003 100644 --- a/gallery_dl/extractor/instagram.py +++ b/gallery_dl/extractor/instagram.py @@ -223,7 +223,8 @@ class InstagramExtractor(Extractor): for num, item in enumerate(items, 1): try: - image = item["image_versions2"]["candidates"][0] + candidates = item["image_versions2"]["candidates"] + image = candidates[0] except Exception: self.log.warning("Missing media in post %s", data["post_shortcode"]) @@ -239,6 +240,22 @@ class InstagramExtractor(Extractor): video = None media = image + if len(candidates) <= 3: + self.log.warning( + "%s: Image candidate list possibly incomplete " + "(%s items). Consider refreshing your cookies.", + data["post_shortcode"], len(candidates)) + elif image["width"] < item.get("original_width", 0) or \ + image["height"] < item.get("original_height", 0): + self.log.warning( + "%s: Available image resolutions lower than the " + "original (%sx%s < %sx%s). " + "Consider refreshing your cookies.", + data["post_shortcode"], + image["width"], image["height"], + item.get("original_width", 0), + item.get("original_height", 0)) + media = { "num" : num, "date" : text.parse_timestamp(item.get("taken_at") or