diff --git a/scam.py b/scam.py index a03f820..a099841 100755 --- a/scam.py +++ b/scam.py @@ -4,6 +4,7 @@ import argparse parser = argparse.ArgumentParser() parser.add_argument("-a", "--all", dest="show_all_settings", action="store_true", help="show all settings") +parser.add_argument("-o", "--offline", dest="show_offline_pipelines", action="store_true", help="show offline pipelines") clargs = parser.parse_args() @@ -44,9 +45,16 @@ from settings import SettingsList pc = PipelineClient("http://sf-daqsync-01:8889") si = pc.get_server_info() pls = si["active_instances"] + +if clargs.show_offline_pipelines: + all_pls = pc.get_pipelines() + pls = set(all_pls) - set(pls) + if not clargs.show_all_settings: pls = (i for i in pls if "spec_db" in i) + pls = sorted(pls) +print("found:", pls) @@ -119,8 +127,13 @@ class MainPanel(wx.Panel): self.entries.clear() self.instance = instance = self.cb_pls.GetValue() - cfg = pc.get_instance_config(instance) - print(cfg) + + if clargs.show_offline_pipelines: + cfg = pc.get_config(instance) + print("pipeline config:", cfg) + else: + cfg = pc.get_instance_config(instance) + print("instance config:", cfg) self.camera = camera = cfg["camera_name"] @@ -216,7 +229,7 @@ class MainPanel(wx.Panel): xmin, xdelta, ymin, ydelta = roi xmax = xmin + xdelta ymax = ymin + ydelta - return xmin, xmax, ymin, ymax + return ymin, ymax, xmin, xmax def on_print(self, event): @@ -229,8 +242,14 @@ class MainPanel(wx.Panel): def on_save_cfg(self, event): new_cfg = self.make_cfg() - res = pc.set_instance_config(self.instance, new_cfg) - print(res) + if clargs.show_offline_pipelines: + cfg = pc.get_config(self.instance) + cfg.update(new_cfg) # need to send a full config, a delta is not enough + res = pc.set_config(self.instance, cfg) + print("pipeline config:", res) + else: + res = pc.set_instance_config(self.instance, new_cfg) + print("instance config:", res)