Skip to content
Snippets Groups Projects
Commit c153e93a authored by Philipp Niedermayer's avatar Philipp Niedermayer
Browse files

skip_missing during compare

parent c61010e3
No related branches found
No related tags found
No related merge requests found
......@@ -302,11 +302,12 @@ def load_opti_log(logfile):
# Functions to compare metadata for two or more saved data files
def compare(dicts):
def compare(dicts, skip_missing=True):
differences = []
keys = {k for dic in dicts for k in dic}
for key in keys:
values = [dic[key] for dic in dicts]
values = [dic.get(key) for dic in dicts]
if skip_missing and None in values: continue
if type(values[0]) is dict:
for diff in compare(values):
differences.append([key + " : " + diff[0], *diff[1:]])
......@@ -327,13 +328,13 @@ def _load_yml(fname):
raw = raw.replace('(', '[').replace(')',']')
return yaml.safe_load(raw)
def yml_diff(fnames):
def yml_diff(fnames, skip_missing=True):
meta = {}
for fname in fnames:
meta[fname] = _load_yml(find_file(fname, yml=True))
# compare
diff = compare(meta.values())
diff = compare(meta.values(), skip_missing=skip_missing)
diff.append(["", *fnames])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment