Skip to content

Commit

Permalink
Merge 4cfa710 into 6b177b3
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrieldemarmiesse committed Aug 2, 2019
2 parents 6b177b3 + 4cfa710 commit 955acac
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions sacred/observers/file_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ def create(cls, basedir: PathType,
def __init__(self, basedir, resource_dir, source_dir, template,
priority=DEFAULT_FILE_STORAGE_PRIORITY):
self.basedir = str(basedir)
self.resource_dir = str(resource_dir)
self.source_dir = str(source_dir)
self.template = template if template is None else str(template)
self.resource_dir = resource_dir
self.source_dir = source_dir
self.template = template
self.priority = priority
self.dir = None
self.run_entry = None
Expand Down Expand Up @@ -118,7 +118,8 @@ def save_sources(self, ex_info):
abspath = os.path.join(base_dir, s)
store_path, md5sum = self.find_or_save(abspath, self.source_dir)
# assert m == md5sum
source_info.append([s, os.path.relpath(store_path, self.basedir)])
relative_source = os.path.relpath(str(store_path), self.basedir)
source_info.append([s, relative_source])
return source_info

def started_event(self, ex_info, command, host_info, start_time, config,
Expand Down Expand Up @@ -149,14 +150,14 @@ def started_event(self, ex_info, command, host_info, start_time, config,

return os.path.relpath(self.dir, self.basedir) if _id is None else _id

def find_or_save(self, filename, store_dir):
os.makedirs(store_dir, exist_ok=True)
def find_or_save(self, filename, store_dir: Path):
os.makedirs(str(store_dir), exist_ok=True)
source_name, ext = os.path.splitext(os.path.basename(filename))
md5sum = get_digest(filename)
store_name = source_name + '_' + md5sum + ext
store_path = os.path.join(store_dir, store_name)
if not os.path.exists(store_path):
copyfile(filename, store_path)
store_path = store_dir / store_name
if not store_path.exists():
copyfile(filename, str(store_path))
return store_path, md5sum

def save_json(self, obj, filename):
Expand All @@ -181,7 +182,7 @@ def render_template(self):
info=self.info,
cout=self.cout,
savedir=self.dir)
_, ext = os.path.splitext(self.template)
ext = self.template.suffix
with open(os.path.join(self.dir, 'report' + ext), 'w') as f:
f.write(report)

Expand Down Expand Up @@ -218,7 +219,7 @@ def failed_event(self, fail_time, fail_trace):

def resource_event(self, filename):
store_path, md5sum = self.find_or_save(filename, self.resource_dir)
self.run_entry['resources'].append([filename, store_path])
self.run_entry['resources'].append([filename, str(store_path)])
self.save_json(self.run_entry, 'run.json')

def artifact_event(self, name, filename, metadata=None, content_type=None):
Expand Down

0 comments on commit 955acac

Please sign in to comment.