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):
|
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")
|
||||||
|
|
||||||
|
@ -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")
|
||||||
|
Reference in New Issue
Block a user