From afc503a2851efdce30d60fd30546be8c6fd5f9c7 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 2 Jan 2025 01:32:19 +0100 Subject: [PATCH] Fixed an issue where RcGcDw might crash due to previous image revision not having archivename --- extensions/base/mediawiki.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/extensions/base/mediawiki.py b/extensions/base/mediawiki.py index ee2df83..64e54c7 100644 --- a/extensions/base/mediawiki.py +++ b/extensions/base/mediawiki.py @@ -177,15 +177,19 @@ def embed_upload_upload(ctx: Context, change: dict) -> DiscordMessage: if action in ("upload/overwrite", "upload/revert"): if image_direct_url: try: - revision = image_data["imageinfo"][num + 1] + archive_name = image_data["imageinfo"][num + 1]["archivename"] except IndexError: logger.exception( "Could not analize the information about the image (does it have only one version when expected more in overwrite?) which resulted in no Options field: {}".format( image_data["imageinfo"])) + except KeyError: + logger.exception( + "Could not analize the information about the image, one of its revisions might have been deleted: {}".format( + image_data["imageinfo"])) else: undolink = "{wiki}index.php?title={filename}&action=revert&oldimage={archiveid}".format( wiki=ctx.client.WIKI_SCRIPT_PATH, filename=sanitize_to_url(change["title"]), - archiveid=revision["archivename"]) + archiveid=archive_name) embed.add_field(ctx._("Options"), ctx._("([preview]({link}) | [undo]({undolink}))").format( link=image_direct_url, undolink=undolink)) if ctx.settings["appearance"]["embed"]["embed_images"]: