From 6330c879f8f3ed15978202baa942e75c9fad2cb1 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Wed, 13 Apr 2022 14:34:01 +0300 Subject: [PATCH] Fix `StorageManager.get_local_copy()` returning `None` for a valid path in Windows --- clearml/storage/cache.py | 4 ++++ clearml/storage/helper.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/clearml/storage/cache.py b/clearml/storage/cache.py index 6a7c84f1..f10e32b3 100644 --- a/clearml/storage/cache.py +++ b/clearml/storage/cache.py @@ -51,6 +51,10 @@ class CacheManager(object): ): # type: (str, bool, bool) -> Optional[str] helper = StorageHelper.get(remote_url) + + if helper.base_url == "file://": + remote_url = os.path.expanduser(remote_url) + if not helper: raise ValueError("Storage access failed: {}".format(remote_url)) # check if we need to cache the file diff --git a/clearml/storage/helper.py b/clearml/storage/helper.py index c94b320a..a7d1c6ae 100644 --- a/clearml/storage/helper.py +++ b/clearml/storage/helper.py @@ -5,6 +5,7 @@ import getpass import itertools import json import os +import platform import shutil import sys import threading @@ -906,6 +907,8 @@ class StorageHelper(object): folder_uri = str(Path(folder_uri).absolute()) if folder_uri.startswith('/'): folder_uri = _base_url + folder_uri + elif platform.system() == "Windows": + folder_uri = ''.join((_base_url, folder_uri)) else: folder_uri = '/'.join((_base_url, folder_uri))