a bit of refactor

This commit is contained in:
gac-maloja
2021-09-30 11:41:26 +02:00
parent 2ecd9b3e90
commit 545c27bb54

44
scam.py
View File

@ -98,25 +98,24 @@ class MainPanel(wx.Panel):
cfg = pc.get_instance_config(instance) cfg = pc.get_instance_config(instance)
print(cfg) print(cfg)
self.orig_cfg = cfg
self.camera = cfg["camera_name"] self.camera = cfg["camera_name"]
self.orig_cfg = cfg
name_mapping = None
if not clargs.show_all_settings: if not clargs.show_all_settings:
self.orig_cfg = filter_dict(cfg, SHOWN_SETTINGS, ENFORCED_SETTINGS)
name_mapping = SHOWN_SETTINGS
check_incoming_cfg(cfg) check_incoming_cfg(cfg)
cfg = filter_dict(cfg, SHOWN_SETTINGS)
self.entries.update(cfg, name_mapping)
self.eb_bkg.Enable() self.eb_bkg.Enable()
self.btn_print.Enable() self.btn_print.Enable()
self.btn_save.Enable() self.btn_save.Enable()
if clargs.show_all_settings:
self.entries.update(cfg)
else:
filtered_cfg = {k: v for k, v in cfg.items() if k in SHOWN_SETTINGS}
for k in SHOWN_SETTINGS:
if k not in filtered_cfg:
filtered_cfg[k] = None
self.entries.update(filtered_cfg, SHOWN_SETTINGS)
self._adjust_size() self._adjust_size()
@ -136,15 +135,11 @@ class MainPanel(wx.Panel):
def on_print(self, event): def on_print(self, event):
new_cfg = self.make_cfg()
old_cfg = self.orig_cfg old_cfg = self.orig_cfg
if not clargs.show_all_settings: new_cfg = self.make_cfg()
old_cfg = {k: v for k, v in old_cfg.items() if k in list(SHOWN_SETTINGS) + ENFORCED_SETTINGS} print("\nold config:\n", old_cfg)
print("\nnew config:\n", new_cfg)
print("old config:", old_cfg) print("\nunchanged\n" if old_cfg == new_cfg else "changed")
print("new config:", new_cfg)
print("unchanged" if old_cfg == new_cfg else "changed")
def on_save_cfg(self, event): def on_save_cfg(self, event):
@ -183,6 +178,19 @@ def printable(val):
return repr(val).replace("'", '"') return repr(val).replace("'", '"')
def filter_dict(d, *args):
allkeys = []
for keys in args:
allkeys.extend(keys)
res = {k: v for k, v in d.items() if k in allkeys}
for k in allkeys:
if k not in res:
res[k] = None
return res