[WIP] next try

This commit is contained in:
2023-09-12 09:45:32 +02:00
parent 3c96bd3eab
commit 68153df77c
2 changed files with 21 additions and 19 deletions

View File

@ -229,7 +229,6 @@ class FrappyNode(SecNodeDevice, Moveable):
type=str, default='', settable=True),
}
_service_manager = FrappyManager()
_cfgvalue = None
def doStart(self, value):
@ -251,8 +250,12 @@ class FrappyNode(SecNodeDevice, Moveable):
return self.secnode.descriptive_data['_frappy_config']
except (KeyError, AttributeError):
pass
if self._cfgvalue is None and self._cache:
self._cfgvalue = self._cache.get(self, 'value')
if self._cfgvalue is None:
sea_cfg = FrappyManager().cfg_from_sea(config.instrument).get(self.service)
if sea_cfg:
return sea_cfg
if self._cache:
self._cfgvalue = self._cache.get(self, 'value')
return self._cfgvalue
def createDevices(self):
@ -269,9 +272,7 @@ class FrappyNode(SecNodeDevice, Moveable):
@classmethod
def config_dirs(cls, ins, service):
# TODO: no more needed after allowing ~cfg in FrappyManager.do_start
sm = cls._service_manager
sm.get_info()
return sm.config_dirs(ins, service)
return FrappyManager().config_dirs(ins, service)
@classmethod
def available_cfg(cls, service):
@ -308,12 +309,13 @@ class FrappyNode(SecNodeDevice, Moveable):
if cfg is None:
cfg = self._cfgvalue
ins = config.instrument
info = self._service_manager.get_ins_info(ins)
fm = FrappyManager()
info = fm.get_ins_info(ins)
cfginfo = {}
self._service_manager.get_procs(cfginfo=cfginfo)
fm.get_procs(cfginfo=cfginfo)
running_cfg = cfginfo.get((ins, self.service), '')
if not forced:
sea_cfg = self._service_manager.cfg_from_sea(ins).get(self.service)
sea_cfg = fm.cfg_from_sea(ins).get(self.service)
if sea_cfg == '?':
self.log.warning('undefined sea device')
cfg = '' # stop server
@ -327,7 +329,7 @@ class FrappyNode(SecNodeDevice, Moveable):
self.disable()
if running_cfg:
self._disconnect()
self._service_manager.do_stop(ins, self.service)
fm.do_stop(ins, self.service)
is_cfg = cfg and ':' not in cfg
if is_cfg:
available_cfg = self.available_cfg(self.service)
@ -347,7 +349,7 @@ class FrappyNode(SecNodeDevice, Moveable):
self.uri = '' # disconnect
if uri:
if is_cfg:
self._service_manager.do_start(ins, self.service, cfg, logger=self.log)
fm.do_start(ins, self.service, cfg, logger=self.log)
self.uri = uri # connect
self._cfgvalue = cfg
if self._cache: