Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip
This commit is contained in:
commit
9a9a22588f
@ -169,7 +169,7 @@ class Parameter(Accessible):
|
||||
OrType(FloatRange(0), EnumType(always=0, never=999999999, default=-1)),
|
||||
export=False, default=-1)
|
||||
influences = Property(
|
||||
'optional hint about effected parameters', ArrayOf(StringType()),
|
||||
'optional hint about affected parameters', ArrayOf(StringType()),
|
||||
extname='influences', export=True, mandatory=False, default=[])
|
||||
|
||||
# used on the instance copy only
|
||||
@ -367,7 +367,7 @@ class Command(Accessible):
|
||||
'datatype of the result from the command, or None', NoneOr(DataTypeType()),
|
||||
export=False, mandatory=True)
|
||||
influences = Property(
|
||||
'optional hint about effected parameters', ArrayOf(StringType()),
|
||||
'optional hint about affected parameters', ArrayOf(StringType()),
|
||||
extname='influences', export=True, mandatory=False, default=[])
|
||||
|
||||
func = None
|
||||
|
@ -45,6 +45,7 @@ except ImportError:
|
||||
DaemonContext = None
|
||||
|
||||
try:
|
||||
# pylint: disable=unused-import
|
||||
import systemd.daemon
|
||||
except ImportError:
|
||||
systemd = None
|
||||
@ -132,8 +133,12 @@ class Server:
|
||||
while self._restart:
|
||||
self._restart = False
|
||||
try:
|
||||
if systemd:
|
||||
# TODO: make systemd notifications configurable
|
||||
if systemd: # pylint: disable=used-before-assignment
|
||||
systemd.daemon.notify("STATUS=initializing")
|
||||
except Exception:
|
||||
systemd = None # pylint: disable=redefined-outer-name
|
||||
try:
|
||||
self._processCfg()
|
||||
if self._testonly:
|
||||
return
|
||||
|
@ -383,6 +383,19 @@ SEA_TO_SECOPTYPE = {
|
||||
}
|
||||
|
||||
|
||||
class SeaEnum(EnumType):
|
||||
"""some sea enum nodes have text type -> accept '<integer>' also"""
|
||||
def copy(self):
|
||||
return SeaEnum(self._enum)
|
||||
|
||||
def __call__(self, value):
|
||||
try:
|
||||
value = int(value)
|
||||
except TypeError:
|
||||
pass
|
||||
return super().__call__(value)
|
||||
|
||||
|
||||
def get_datatype(paramdesc):
|
||||
typ = paramdesc['type']
|
||||
result = SEA_TO_SECOPTYPE.get(typ, False)
|
||||
@ -390,7 +403,7 @@ def get_datatype(paramdesc):
|
||||
return result
|
||||
# special cases
|
||||
if typ == 'enum':
|
||||
return EnumType(paramdesc['enum'])
|
||||
return SeaEnum(paramdesc['enum'])
|
||||
raise ValueError('unknown SEA type %r' % typ)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user