From 8e3851186db9dff80b39aca5c99b35fe03c30f35 Mon Sep 17 00:00:00 2001 From: James Addison Date: Tue, 9 Apr 2024 23:48:05 +0100 Subject: [PATCH] Remote image post-transform: add a character-translation for port number segments. --- sphinx/transforms/post_transforms/images.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index 04e2ac2f40d..d20b120ac3f 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -64,7 +64,8 @@ def handle(self, node: nodes.image) -> None: basename = sha1(filename.encode(), usedforsecurity=False).hexdigest() + ext basename = CRITICAL_PATH_CHAR_RE.sub("_", basename) - dirname = node['uri'].replace('://', '/').translate({ord("?"): "/", + dirname = node['uri'].replace('://', '/').translate({ord(":"): "/", + ord("?"): "/", ord("&"): "/"}) if len(dirname) > MAX_FILENAME_LEN: dirname = sha1(dirname.encode(), usedforsecurity=False).hexdigest()