switched entries to dict {NAME: TYPE}; switched save/load data to json
This commit is contained in:
@ -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")
|
||||
|
||||
|
@ -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")
|
||||
|
Reference in New Issue
Block a user