diff --git a/secop/gui/nodectrl.py b/secop/gui/nodectrl.py index 63b383e..b11211d 100644 --- a/secop/gui/nodectrl.py +++ b/secop/gui/nodectrl.py @@ -141,15 +141,18 @@ class NodeCtrl(QWidget): description = modprops['description'] # fallback: allow (now) invalid 'Driveable' - if 'Drivable' in interfaces or 'Driveable' in interfaces: - widget = DrivableWidget(self._node, modname, self) - unit = self._node.getProperties(modname, 'value').get('unit', '') - elif 'Readable' in interfaces: - widget = ReadableWidget(self._node, modname, self) - unit = self._node.getProperties(modname, 'value').get('unit', '') - else: - widget = QLabel('Unsupported Interfaceclass %r' % interfaces) - unit = '' + try: + if 'Drivable' in interfaces or 'Driveable' in interfaces: + widget = DrivableWidget(self._node, modname, self) + unit = self._node.getProperties(modname, 'value').get('unit', '') + elif 'Readable' in interfaces: + widget = ReadableWidget(self._node, modname, self) + unit = self._node.getProperties(modname, 'value').get('unit', '') + else: + widget = QLabel('Unsupported Interfaceclass %r' % interfaces) + unit = '' + except Exception as e: + widget = QLabel('Bad configured Module %s! (%s)' % (modname, e)) if unit: