correct measurement io for openQCD

This commit is contained in:
Justus Kuhlmann 2025-04-08 13:32:04 +00:00
parent 362fc8788b
commit 81da737152

View file

@ -63,10 +63,17 @@ def write_measurement(path, ensemble, measurement, uuid, code, parameter_file):
pars = json.dumps(parameters["rw_fcts"][i])
parHash = sha256(str(pars).encode('UTF-8')).hexdigest()
meas_path = file + "::" + parHash
corr = 'ms1'
par_list = []
for k in parameters["rw_fcts"][i].keys():
par_list.append(str(parameters["rw_fcts"][i][k]))
pars = "/".join(par_list)
known_meas[parHash] = measurement[corr][pars]
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'))", ("ms1", ensemble, code, meas_path, uuid, json.dumps(parameters["rw_fcts"][i]), parameter_file))
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, json.dumps(parameters["rw_fcts"][i]), parameter_file))
conn.commit()
pj.dump_dict_to_json(known_meas, file)
files.append(path + '/backlogger.db')