From 5881b25584f793e3ad3576dcdf462d93ef169f81 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Fri, 4 Mar 2022 10:01:29 +0100 Subject: Protect vs Bucket containing html chars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It allows dumping MTS output files. Change-Id: I2b35ee81a764573a9d17cb3a225cb5febed5fa46 Signed-off-by: Cédric Ollivier --- xtesting/core/campaign.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/xtesting/core/campaign.py b/xtesting/core/campaign.py index 4dca3041..aadba782 100644 --- a/xtesting/core/campaign.py +++ b/xtesting/core/campaign.py @@ -128,18 +128,21 @@ class Campaign(): # pylint: disable=no-member for s3_object in b3resource.Bucket(bucket_name).objects.filter( Prefix="{}/".format(prefix)): - path, _ = os.path.split(s3_object.key) + path, _ = os.path.split( + urllib.parse.unquote_plus(s3_object.key)) lpath = re.sub('^{}/*'.format(s3path), '', path) if lpath and not os.path.exists(lpath): os.makedirs(lpath) + Campaign.__logger.info( + "Downloading %s", + re.sub('^{}/*'.format(s3path), '', + urllib.parse.unquote_plus(s3_object.key))) # pylint: disable=no-member b3resource.Bucket(bucket_name).download_file( - s3_object.key, - re.sub('^{}/*'.format(s3path), '', s3_object.key), + urllib.parse.unquote_plus(s3_object.key), + re.sub('^{}/*'.format(s3path), '', + urllib.parse.unquote_plus(s3_object.key)), Config=tconfig) - Campaign.__logger.info( - "Downloading %s", - re.sub('^{}/*'.format(s3path), '', s3_object.key)) return Campaign.EX_OK except Exception: # pylint: disable=broad-except Campaign.__logger.exception("Cannot publish the artifacts") -- cgit 1.2.3-korg