From c1abcb99de7582b61b7d0783ebf3b50bd33f4806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 18 Aug 2025 10:18:03 +0200 Subject: [PATCH] [twitter] handle "KeyError: 'result'" for retweets (#8072) --- gallery_dl/extractor/twitter.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 43035243..7767f452 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -1870,19 +1870,16 @@ class TwitterAPI(): continue if "retweeted_status_result" in legacy: - retweet = legacy["retweeted_status_result"]["result"] - if "tweet" in retweet: - retweet = retweet["tweet"] - if original_retweets: - try: + try: + retweet = legacy["retweeted_status_result"]["result"] + if "tweet" in retweet: + retweet = retweet["tweet"] + if original_retweets: retweet["legacy"]["retweeted_status_id_str"] = \ retweet["rest_id"] retweet["_retweet_id_str"] = tweet["rest_id"] tweet = retweet - except KeyError: - continue - else: - try: + else: legacy["retweeted_status_id_str"] = \ retweet["rest_id"] tweet["author"] = \ @@ -1904,8 +1901,11 @@ class TwitterAPI(): rtlegacy["withheld_scope"] legacy["full_text"] = rtlegacy["full_text"] - except KeyError: - pass + except Exception as exc: + extr.log.debug( + "%s: %s: %s", + tweet.get("rest_id"), exc.__class__.__name__, exc) + continue yield tweet