1
0
mirror of https://github.com/clearml/clearml synced 2025-04-08 06:34:37 +00:00
This commit is contained in:
vignesh 2025-04-03 15:57:48 +00:00 committed by GitHub
commit 2363dfce39
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions
clearml
datasets
storage

View File

@ -3379,6 +3379,8 @@ class Dataset(object):
# noinspection PyBroadException
try:
if StorageManager.exists_file(source_url):
# handle local path provided without scheme
source_url = StorageHelper.sanitize_url(source_url)
remote_objects = [StorageManager.get_metadata(source_url, return_full_path=True)]
elif not source_url.startswith(("http://", "https://")):
if source_url[-1] != "/":
@ -3397,7 +3399,7 @@ class Dataset(object):
link = remote_object.get("name")
relative_path = link[len(source_url):]
if not relative_path:
relative_path = source_url.split("/")[-1]
relative_path = os.path.basename(source_url)
if not matches_any_wildcard(relative_path, wildcard, recursive=recursive):
continue
try:

View File

@ -3067,6 +3067,14 @@ class StorageHelper(object):
return self._driver.exists_file(
container_name=self._container.name if self._container else "", object_name=object_name
)
@classmethod
def sanitize_url(cls, remote_url):
base_url = cls._resolve_base_url(remote_url)
if base_url != 'file://' or remote_url.startswith("file://"):
return remote_url
absoulte_path = os.path.abspath(remote_url)
return base_url + absoulte_path
def normalize_local_path(local_path):