From baafc6471488d563837c1e593aac1df234c2427f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sun, 25 Jan 2026 09:23:46 +0100 Subject: [PATCH] [weibo:album] fix "KeyError - 'pid'" (#8792) add workaround for (sub)album items without 'pid' field --- gallery_dl/extractor/weibo.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/gallery_dl/extractor/weibo.py b/gallery_dl/extractor/weibo.py index 7c544212..7e8e13e5 100644 --- a/gallery_dl/extractor/weibo.py +++ b/gallery_dl/extractor/weibo.py @@ -417,9 +417,19 @@ class WeiboAlbumExtractor(WeiboExtractor): self.kwdict["subalbum"] = data yield Message.Directory, "", {} for file in files: - file["filename"] = file["pid"] - file["extension"] = "jpg" - yield Message.Url, base + file["pid"], file + if "pid" in file: + file["filename"] = file["pid"] + file["extension"] = "jpg" + yield Message.Url, base + file["pid"], file + elif "mid" in file: + mid = file["mid"] + status = self._status_by_id(mid) + if status.get("ok") != 1: + self.log.debug("Skipping status %s (%s)", mid, status) + else: + self.statuses = lambda: (status,) + yield from WeiboExtractor.items(self) + yield Message.Directory, "", {} def statuses(self): endpoint = "/profile/getImageWall"