From fcc06b864acb20bd3d4bd7ac0decb63256f328fc Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Wed, 25 Nov 2020 14:53:45 +0200 Subject: [PATCH] Fix replace quote safe characters in upload file --- trains/backend_interface/metrics/events.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/trains/backend_interface/metrics/events.py b/trains/backend_interface/metrics/events.py index 6ce4182d..6b87d303 100644 --- a/trains/backend_interface/metrics/events.py +++ b/trains/backend_interface/metrics/events.py @@ -206,8 +206,11 @@ class UploadEvent(MetricsEventAdapter): def _replace_slash(part): # replace the three quote symbols we cannot have, # notice % will be converted to %25 when the link is quoted, so we should not use it - return part.replace('\\', '/').strip('/').replace('/', '.slash.').replace('?', '0x3F').\ - replace('#', '0x23').replace('"', '0x22') + # Replace quote safe characters: ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," + return part.replace('\\', '/').strip('/').replace('/', '.slash.').replace('?', '0x3f').\ + replace('#', '0x23').replace('"', '0x22').replace(';', '0x3b').replace(':', '0x3a').\ + replace('@', '0x40').replace('&', '0x26').replace('=', '0x3d').replace('+', '0x2b').\ + replace('$', '0x24').replace(',', '0x2c') def __init__(self, metric, variant, image_data, local_image_path=None, iter=0, upload_uri=None, file_history_size=None, delete_after_upload=False, **kwargs):