switched entries to dict {NAME: TYPE}; switched save/load data to json

This commit is contained in:
2024-11-14 18:02:28 +01:00
parent 9c087476f0
commit 88192300a5
2 changed files with 11 additions and 12 deletions

View File

@ -1,23 +1,22 @@
import json
def load_data(fn): def load_data(fn):
try: try:
with open(fn) as f: with open(fn) as f:
data = f.read().split("\n") data = json.load(f)
data = set(data)
data.discard("") #TODO
except FileNotFoundError: except FileNotFoundError:
data = set() data = {}
return data return data
def save_data(data, fn): def save_data(data, fn):
with open(fn, "w") as f: with open(fn, "w") as f:
data = "\n".join(sorted(data)) json.dump(data, f)
f.write(data)
def mk_db(data, fn): def mk_db(data, fn):
with open(fn, "w") as f: with open(fn, "w") as f:
for name in data: for name, dtyp in data.items():
entry = f'record(stringin, "$(SYSTEM):{name}") {{}}' entry = f'record({dtyp}, "$(SYSTEM):{name}") {{}}'
f.write(entry) f.write(entry)
f.write("\n") f.write("\n")

View File

@ -32,10 +32,10 @@ def cb_add(value=None, **kwargs):
dtyp = DTYPES[dtyp] dtyp = DTYPES[dtyp]
log.info(f"add: name={repr(name)} type={repr(dtyp)} {kwargs}") log.info(f"add: name={repr(name)} type={repr(dtyp)} {kwargs}")
data = load_data(FN_ENTRIES) data = load_data(FN_ENTRIES)
data.add(name) data[name] = dtyp
save_data(data, FN_ENTRIES) save_data(data, FN_ENTRIES)
mk_db(data, FN_DB_TMPL) mk_db(data, FN_DB_TMPL)
log.info(f"data: {sorted(data)}") log.info(f"data: {data}")
@toggle @toggle
@ -46,10 +46,10 @@ def cb_remove(value=None, **kwargs):
return return
log.info(f"remove: name={repr(name)} {kwargs}") log.info(f"remove: name={repr(name)} {kwargs}")
data = load_data(FN_ENTRIES) data = load_data(FN_ENTRIES)
data.discard(name) data.pop(name, None)
save_data(data, FN_ENTRIES) save_data(data, FN_ENTRIES)
mk_db(data, FN_DB_TMPL) mk_db(data, FN_DB_TMPL)
log.info(f"data: {sorted(data)}") log.info(f"data: {data}")
pv_add = PV("SATES20-DYNA:ADD") pv_add = PV("SATES20-DYNA:ADD")