From ecee4eaf64d015d8e03f3da0117e747595c9193a Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Tue, 1 Mar 2022 20:30:40 +0200 Subject: [PATCH] Fix HTTP download fails constructing URL (#593) --- clearml/storage/helper.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/clearml/storage/helper.py b/clearml/storage/helper.py index f9d5022e..2c8f49e2 100644 --- a/clearml/storage/helper.py +++ b/clearml/storage/helper.py @@ -879,7 +879,7 @@ class StorageHelper(object): elif parsed.scheme == _GoogleCloudStorageDriver.scheme: conf = cls._gs_configurations.get_config_by_uri(base_url) return str(furl(scheme=parsed.scheme, netloc=conf.bucket)) - elif parsed.scheme in ('http', 'https'): + elif parsed.scheme in _HttpDriver.schemes: files_server = cls._get_file_server_host() if base_url.startswith(files_server): return files_server @@ -1136,7 +1136,11 @@ class _HttpDriver(_Driver): def get_object(self, container_name, object_name, *args, **kwargs): is_stream = kwargs.get('stream', True) - url = ''.join((container_name, object_name.lstrip('/'))) + url = '/'.join(( + container_name[:-1] if container_name.endswith('/') else container_name, + object_name.lstrip('/') + )) + # url = ''.join((container_name, object_name.lstrip('/'))) return self._HttpSessionHandle(url, is_stream, container_name, object_name) def _get_download_object(self, obj):