From 3b931849970096e88bab228ff511da57cebe79c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 30 Jul 2025 16:11:38 +0200 Subject: [PATCH] [twitter] fix potential 'UnboundLocalError' (#7932) this happens with Tweets containing both images and video when 'videos' are disabled. --- gallery_dl/extractor/twitter.py | 2 ++ test/results/twitter.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 7252d056..43035243 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -217,6 +217,8 @@ class TwitterExtractor(Extractor): "duration": video_info.get( "duration_millis", 0) / 1000, } + else: + continue elif "media_url_https" in media: url = media["media_url_https"] if url[-4] == ".": diff --git a/test/results/twitter.py b/test/results/twitter.py index bd11456e..f780f1bb 100644 --- a/test/results/twitter.py +++ b/test/results/twitter.py @@ -349,6 +349,27 @@ __tests__ = ( "type": "video", }, +{ + "#url" : "https://x.com/carrotsprout_/status/1577924293023133696", + "#comment" : "mixed image & video", + "#class" : twitter.TwitterTweetExtractor, + "#results" : ( + "https://pbs.twimg.com/media/FeXpxOyaYAA9L88?format=jpg&name=orig", + "https://video.twimg.com/ext_tw_video/1577924276447248386/pu/vid/720x800/kNsjUvJ5knrSx5WM.mp4?tag=12", + ), +}, + +{ + "#url" : "https://x.com/gopherfootball/status/1950259395432239395", + "#comment" : "mixed images & video; 'videos' disabled (#7932)", + "#class" : twitter.TwitterTweetExtractor, + "#options" : {"videos": False}, + "#results" : ( + "https://pbs.twimg.com/media/GxC2eRJWAAAH_NM?format=jpg&name=orig", + "https://pbs.twimg.com/media/GxC2eRAWoAA8gGQ?format=jpg&name=orig", + ), +}, + { "#url" : "https://twitter.com/playpokemon/status/1263832915173048321/", "#comment" : "content with emoji, newlines, hashtags (#338)",