reformat parts of meas writing
This commit is contained in:
parent
005840d212
commit
17d2d186e7
1 changed files with 25 additions and 29 deletions
|
@ -25,16 +25,11 @@ def write_measurement(path, ensemble, measurement, uuid, code, parameter_file):
|
||||||
uuid: str
|
uuid: str
|
||||||
The uuid of the project.
|
The uuid of the project.
|
||||||
"""
|
"""
|
||||||
if code == "sfcf":
|
|
||||||
parameters = sfcf.read_param(path, uuid, parameter_file)
|
|
||||||
elif code == "openQCD":
|
|
||||||
parameters = openQCD.read_param(path, uuid, parameter_file)
|
|
||||||
|
|
||||||
dl.unlock(path + '/backlogger.db', dataset=path)
|
dl.unlock(path + '/backlogger.db', dataset=path)
|
||||||
conn = sqlite3.connect(path + '/backlogger.db')
|
conn = sqlite3.connect(path + '/backlogger.db')
|
||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
files = []
|
files = []
|
||||||
hashed_measurement = {}
|
|
||||||
for corr in measurement.keys():
|
for corr in measurement.keys():
|
||||||
file = path + "/archive/" + ensemble + "/" + corr + '/' + uuid + '.json.gz'
|
file = path + "/archive/" + ensemble + "/" + corr + '/' + uuid + '.json.gz'
|
||||||
files.append(file)
|
files.append(file)
|
||||||
|
@ -46,34 +41,35 @@ def write_measurement(path, ensemble, measurement, uuid, code, parameter_file):
|
||||||
dl.unlock(file, dataset=path)
|
dl.unlock(file, dataset=path)
|
||||||
known_meas = pj.load_json_dict(file)
|
known_meas = pj.load_json_dict(file)
|
||||||
if code == "sfcf":
|
if code == "sfcf":
|
||||||
hashed_measurement[corr] = {}
|
parameters = sfcf.read_param(path, uuid, parameter_file)
|
||||||
for subkey in measurement[corr].keys():
|
pars = {}
|
||||||
pars = sfcf.get_specs(corr + "/" + subkey, parameters)
|
subkeys = list(measurement[corr].keys())
|
||||||
parHash = sha256(str(pars).encode('UTF-8')).hexdigest()
|
for subkey in subkeys:
|
||||||
meas_path = file + "::" + parHash
|
pars[subkey] = sfcf.get_specs(corr + "/" + subkey, parameters)
|
||||||
known_meas[parHash] = measurement[corr][subkey]
|
|
||||||
|
|
||||||
if c.execute("SELECT * FROM backlogs WHERE path = ?", (meas_path,)).fetchone() is not None:
|
|
||||||
c.execute("UPDATE backlogs SET updated_at = datetime('now') WHERE path = ?", (meas_path, ))
|
|
||||||
else:
|
|
||||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
|
||||||
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
|
||||||
elif code == "openQCD":
|
elif code == "openQCD":
|
||||||
|
parameters = openQCD.read_param(path, uuid, parameter_file)
|
||||||
|
pars = {}
|
||||||
|
subkeys = []
|
||||||
for i in range(len(parameters["rw_fcts"])):
|
for i in range(len(parameters["rw_fcts"])):
|
||||||
pars = json.dumps(parameters["rw_fcts"][i])
|
par_list = []
|
||||||
parHash = sha256(str(pars).encode('UTF-8')).hexdigest()
|
|
||||||
meas_path = file + "::" + parHash
|
|
||||||
corr = 'ms1'
|
|
||||||
par_list = []
|
|
||||||
for k in parameters["rw_fcts"][i].keys():
|
for k in parameters["rw_fcts"][i].keys():
|
||||||
par_list.append(str(parameters["rw_fcts"][i][k]))
|
par_list.append(str(parameters["rw_fcts"][i][k]))
|
||||||
pars = "/".join(par_list)
|
subkey = "/".join(par_list)
|
||||||
known_meas[parHash] = measurement[corr][pars]
|
subkeys.append(subkey)
|
||||||
if c.execute("SELECT * FROM backlogs WHERE path = ?", (meas_path,)).fetchone() is not None:
|
pars[subkey] = json.dumps(parameters["rw_fcts"][i])
|
||||||
c.execute("UPDATE backlogs SET updated_at = datetime('now') WHERE path = ?", (meas_path, ))
|
|
||||||
else:
|
for subkey in subkeys:
|
||||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
parHash = sha256(str(pars[subkey]).encode('UTF-8')).hexdigest()
|
||||||
(corr, ensemble, code, meas_path, uuid, json.dumps(parameters["rw_fcts"][i]), parameter_file))
|
meas_path = file + "::" + parHash
|
||||||
|
|
||||||
|
known_meas[parHash] = measurement[corr][subkey]
|
||||||
|
|
||||||
|
if c.execute("SELECT * FROM backlogs WHERE path = ?", (meas_path,)).fetchone() is not None:
|
||||||
|
c.execute("UPDATE backlogs SET updated_at = datetime('now') WHERE path = ?", (meas_path, ))
|
||||||
|
else:
|
||||||
|
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||||
|
(corr, ensemble, code, meas_path, uuid, pars[subkey], parameter_file))
|
||||||
conn.commit()
|
conn.commit()
|
||||||
pj.dump_dict_to_json(known_meas, file)
|
pj.dump_dict_to_json(known_meas, file)
|
||||||
files.append(path + '/backlogger.db')
|
files.append(path + '/backlogger.db')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue