From da3d870e10236f6c45c6621b00bc87f9417e9425 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Sat, 13 Aug 2022 21:17:55 +0000 Subject: [PATCH] Drop app icons when Twitter didn't actually include them in the response Fixes #470 --- snscrape/modules/twitter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snscrape/modules/twitter.py b/snscrape/modules/twitter.py index 6942db6..c08c4bc 100644 --- a/snscrape/modules/twitter.py +++ b/snscrape/modules/twitter.py @@ -1242,6 +1242,10 @@ class _TwitterAPIScraper(snscrape.base.Scraper): vKwargs['ratingAverage'] = var['ratings']['star'] vKwargs['ratingCount'] = var['ratings']['count'] vKwargs['url'] = f'https://play.google.com/store/apps/details?id={var["id"]}' if var['type'] == 'android_app' else f'https://itunes.apple.com/app/id{var["id"]}' + if 'iconMediumKey' in vKwargs and vKwargs['iconMediumKey'] not in kwargs['media']: + # https://github.com/JustAnotherArchivist/snscrape/issues/470 + _logger.warning(f'Tweet {tweetId} contains an app icon medium key {vKwargs["iconMediumKey"]!r} on app {vKwargs["type"]!r}/{vKwargs["id"]!r}, but the corresponding medium is missing; dropping') + del vKwargs['iconMediumKey'] variants.append(UnifiedCardApp(**vKwargs)) kwargs['apps'][k] = variants