diff --git a/SATES20-CPCL-DYNA/cfg/python/data.py b/SATES20-CPCL-DYNA/cfg/python/data.py index 18ace09..977a5d2 100644 --- a/SATES20-CPCL-DYNA/cfg/python/data.py +++ b/SATES20-CPCL-DYNA/cfg/python/data.py @@ -1,23 +1,22 @@ +import json + def load_data(fn): try: with open(fn) as f: - data = f.read().split("\n") - data = set(data) - data.discard("") #TODO + data = json.load(f) except FileNotFoundError: - data = set() + data = {} return data def save_data(data, fn): with open(fn, "w") as f: - data = "\n".join(sorted(data)) - f.write(data) + json.dump(data, f) def mk_db(data, fn): with open(fn, "w") as f: - for name in data: - entry = f'record(stringin, "$(SYSTEM):{name}") {{}}' + for name, dtyp in data.items(): + entry = f'record({dtyp}, "$(SYSTEM):{name}") {{}}' f.write(entry) f.write("\n") diff --git a/SATES20-CPCL-DYNA/cfg/python/pvs.py b/SATES20-CPCL-DYNA/cfg/python/pvs.py index d121ecc..ea52c79 100644 --- a/SATES20-CPCL-DYNA/cfg/python/pvs.py +++ b/SATES20-CPCL-DYNA/cfg/python/pvs.py @@ -32,10 +32,10 @@ def cb_add(value=None, **kwargs): dtyp = DTYPES[dtyp] log.info(f"add: name={repr(name)} type={repr(dtyp)} {kwargs}") data = load_data(FN_ENTRIES) - data.add(name) + data[name] = dtyp save_data(data, FN_ENTRIES) mk_db(data, FN_DB_TMPL) - log.info(f"data: {sorted(data)}") + log.info(f"data: {data}") @toggle @@ -46,10 +46,10 @@ def cb_remove(value=None, **kwargs): return log.info(f"remove: name={repr(name)} {kwargs}") data = load_data(FN_ENTRIES) - data.discard(name) + data.pop(name, None) save_data(data, FN_ENTRIES) mk_db(data, FN_DB_TMPL) - log.info(f"data: {sorted(data)}") + log.info(f"data: {data}") pv_add = PV("SATES20-DYNA:ADD")