do not remove aliases with targets not inheriting frm SecopDevice
This commit is contained in:
14
devices.py
14
devices.py
@@ -32,7 +32,7 @@ import json
|
||||
from nicos import config, session
|
||||
from nicos.core import Override, Param, Moveable, status, POLLER, SIMULATION, DeviceAlias, \
|
||||
Device, anytype, listof, MASTER
|
||||
from nicos.devices.secop.devices import SecNodeDevice
|
||||
from nicos.devices.secop.devices import SecNodeDevice, SecopDevice, DefunctDevice
|
||||
from nicos.core.utils import createThread
|
||||
from nicos.utils.comparestrings import compare
|
||||
from nicos.devices.secop.devices import get_attaching_devices
|
||||
@@ -662,9 +662,15 @@ class FrappyConfig(Device):
|
||||
if new_aliases or predef_aliases:
|
||||
for aliasname, devname in new_aliases.items():
|
||||
if devname is None:
|
||||
session.destroyDevice(aliasname)
|
||||
session.configured_devices.pop(aliasname, None)
|
||||
session.dynamic_devices.pop(aliasname, None)
|
||||
aliasdev = session.devices.get(aliasname)
|
||||
if aliasdev:
|
||||
aliastarget = session.devices.get(aliasdev.alias)
|
||||
if isinstance(aliastarget, (SecopDevice, DefunctDevice)):
|
||||
session.destroyDevice(aliasname)
|
||||
session.configured_devices.pop(aliasname, None)
|
||||
session.dynamic_devices.pop(aliasname, None)
|
||||
elif aliastarget:
|
||||
session.log.info('frappy_setup does not remove %s', aliasname)
|
||||
else:
|
||||
dev = session.devices.get(devname)
|
||||
devcfg = ('nicos.core.DeviceAlias', {})
|
||||
|
||||
Reference in New Issue
Block a user