[WIP] next try
This commit is contained in:
24
devices.py
24
devices.py
@ -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:
|
||||
|
Reference in New Issue
Block a user