mirror of
https://github.com/clearml/clearml
synced 2025-03-03 18:52:12 +00:00
Make sure artifact temporary files names are valid file names
This commit is contained in:
parent
84a34428b6
commit
5b29aa194c
@ -2,6 +2,7 @@ import hashlib
|
|||||||
import json
|
import json
|
||||||
import mimetypes
|
import mimetypes
|
||||||
import os
|
import os
|
||||||
|
from six.moves.urllib.parse import quote
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from multiprocessing import RLock, Event
|
from multiprocessing import RLock, Event
|
||||||
@ -299,7 +300,7 @@ class Artifacts(object):
|
|||||||
artifact_type_data.preview = str(artifact_object.__repr__())
|
artifact_type_data.preview = str(artifact_object.__repr__())
|
||||||
override_filename_ext_in_uri = '.npz'
|
override_filename_ext_in_uri = '.npz'
|
||||||
override_filename_in_uri = name+override_filename_ext_in_uri
|
override_filename_in_uri = name+override_filename_ext_in_uri
|
||||||
fd, local_filename = mkstemp(prefix=name+'.', suffix=override_filename_ext_in_uri)
|
fd, local_filename = mkstemp(prefix=quote(name, safe="")+'.', suffix=override_filename_ext_in_uri)
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
np.savez_compressed(local_filename, **{name: artifact_object})
|
np.savez_compressed(local_filename, **{name: artifact_object})
|
||||||
delete_after_upload = True
|
delete_after_upload = True
|
||||||
@ -309,7 +310,7 @@ class Artifacts(object):
|
|||||||
artifact_type_data.preview = str(artifact_object.__repr__())
|
artifact_type_data.preview = str(artifact_object.__repr__())
|
||||||
override_filename_ext_in_uri = self._save_format
|
override_filename_ext_in_uri = self._save_format
|
||||||
override_filename_in_uri = name
|
override_filename_in_uri = name
|
||||||
fd, local_filename = mkstemp(prefix=name+'.', suffix=override_filename_ext_in_uri)
|
fd, local_filename = mkstemp(prefix=quote(name, safe="")+'.', suffix=override_filename_ext_in_uri)
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
artifact_object.to_csv(local_filename, compression=self._compression)
|
artifact_object.to_csv(local_filename, compression=self._compression)
|
||||||
delete_after_upload = True
|
delete_after_upload = True
|
||||||
@ -320,7 +321,7 @@ class Artifacts(object):
|
|||||||
artifact_type_data.preview = desc[1:desc.find(' at ')]
|
artifact_type_data.preview = desc[1:desc.find(' at ')]
|
||||||
override_filename_ext_in_uri = '.png'
|
override_filename_ext_in_uri = '.png'
|
||||||
override_filename_in_uri = name + override_filename_ext_in_uri
|
override_filename_in_uri = name + override_filename_ext_in_uri
|
||||||
fd, local_filename = mkstemp(prefix=name+'.', suffix=override_filename_ext_in_uri)
|
fd, local_filename = mkstemp(prefix=quote(name, safe="")+'.', suffix=override_filename_ext_in_uri)
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
artifact_object.save(local_filename)
|
artifact_object.save(local_filename)
|
||||||
delete_after_upload = True
|
delete_after_upload = True
|
||||||
@ -330,7 +331,7 @@ class Artifacts(object):
|
|||||||
preview = json.dumps(artifact_object, sort_keys=True, indent=4)
|
preview = json.dumps(artifact_object, sort_keys=True, indent=4)
|
||||||
override_filename_ext_in_uri = '.json'
|
override_filename_ext_in_uri = '.json'
|
||||||
override_filename_in_uri = name + override_filename_ext_in_uri
|
override_filename_in_uri = name + override_filename_ext_in_uri
|
||||||
fd, local_filename = mkstemp(prefix=name+'.', suffix=override_filename_ext_in_uri)
|
fd, local_filename = mkstemp(prefix=quote(name, safe="")+'.', suffix=override_filename_ext_in_uri)
|
||||||
os.write(fd, bytes(preview.encode()))
|
os.write(fd, bytes(preview.encode()))
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
artifact_type_data.preview = preview
|
artifact_type_data.preview = preview
|
||||||
@ -365,7 +366,7 @@ class Artifacts(object):
|
|||||||
files = list(Path(folder).rglob(wildcard))
|
files = list(Path(folder).rglob(wildcard))
|
||||||
override_filename_ext_in_uri = '.zip'
|
override_filename_ext_in_uri = '.zip'
|
||||||
override_filename_in_uri = folder.parts[-1] + override_filename_ext_in_uri
|
override_filename_in_uri = folder.parts[-1] + override_filename_ext_in_uri
|
||||||
fd, zip_file = mkstemp(prefix=folder.parts[-1]+'.', suffix=override_filename_ext_in_uri)
|
fd, zip_file = mkstemp(prefix=quote(folder.parts[-1], safe="")+'.', suffix=override_filename_ext_in_uri)
|
||||||
try:
|
try:
|
||||||
artifact_type_data.content_type = 'application/zip'
|
artifact_type_data.content_type = 'application/zip'
|
||||||
artifact_type_data.preview = 'Archive content {}:\n'.format(artifact_object.as_posix())
|
artifact_type_data.preview = 'Archive content {}:\n'.format(artifact_object.as_posix())
|
||||||
@ -510,7 +511,7 @@ class Artifacts(object):
|
|||||||
|
|
||||||
override_filename_ext_in_uri = self._save_format
|
override_filename_ext_in_uri = self._save_format
|
||||||
override_filename_in_uri = name
|
override_filename_in_uri = name
|
||||||
fd, local_csv = mkstemp(prefix=name + '.', suffix=override_filename_ext_in_uri)
|
fd, local_csv = mkstemp(prefix=quote(name, safe="") + '.', suffix=override_filename_ext_in_uri)
|
||||||
os.close(fd)
|
os.close(fd)
|
||||||
local_csv = Path(local_csv)
|
local_csv = Path(local_csv)
|
||||||
pd_artifact.to_csv(local_csv.as_posix(), index=False, compression=self._compression)
|
pd_artifact.to_csv(local_csv.as_posix(), index=False, compression=self._compression)
|
||||||
|
Loading…
Reference in New Issue
Block a user