a bit of refactor
This commit is contained in:
44
scam.py
44
scam.py
@ -98,25 +98,24 @@ class MainPanel(wx.Panel):
|
||||
cfg = pc.get_instance_config(instance)
|
||||
print(cfg)
|
||||
|
||||
self.orig_cfg = cfg
|
||||
self.camera = cfg["camera_name"]
|
||||
|
||||
self.orig_cfg = cfg
|
||||
name_mapping = None
|
||||
|
||||
if not clargs.show_all_settings:
|
||||
self.orig_cfg = filter_dict(cfg, SHOWN_SETTINGS, ENFORCED_SETTINGS)
|
||||
name_mapping = SHOWN_SETTINGS
|
||||
|
||||
check_incoming_cfg(cfg)
|
||||
cfg = filter_dict(cfg, SHOWN_SETTINGS)
|
||||
|
||||
self.entries.update(cfg, name_mapping)
|
||||
|
||||
self.eb_bkg.Enable()
|
||||
self.btn_print.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()
|
||||
|
||||
|
||||
@ -136,15 +135,11 @@ class MainPanel(wx.Panel):
|
||||
|
||||
|
||||
def on_print(self, event):
|
||||
new_cfg = self.make_cfg()
|
||||
|
||||
old_cfg = self.orig_cfg
|
||||
if not clargs.show_all_settings:
|
||||
old_cfg = {k: v for k, v in old_cfg.items() if k in list(SHOWN_SETTINGS) + ENFORCED_SETTINGS}
|
||||
|
||||
print("old config:", old_cfg)
|
||||
print("new config:", new_cfg)
|
||||
print("unchanged" if old_cfg == new_cfg else "changed")
|
||||
new_cfg = self.make_cfg()
|
||||
print("\nold config:\n", old_cfg)
|
||||
print("\nnew config:\n", new_cfg)
|
||||
print("\nunchanged\n" if old_cfg == new_cfg else "changed")
|
||||
|
||||
|
||||
def on_save_cfg(self, event):
|
||||
@ -183,6 +178,19 @@ def printable(val):
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user