fixed proper parameter inheritance
This commit is contained in:
parent
5951312d40
commit
80d9a790ec
@ -401,6 +401,7 @@ class SeaModule(Module):
|
|||||||
hdbpath = None # hdbpath for main writable
|
hdbpath = None # hdbpath for main writable
|
||||||
|
|
||||||
def __new__(cls, name, logger, cfgdict, srv):
|
def __new__(cls, name, logger, cfgdict, srv):
|
||||||
|
print('N', cls, name)
|
||||||
if hasattr(srv, 'extra_sea_modules'):
|
if hasattr(srv, 'extra_sea_modules'):
|
||||||
extra_modules = srv.extra_sea_modules
|
extra_modules = srv.extra_sea_modules
|
||||||
else:
|
else:
|
||||||
@ -533,8 +534,11 @@ class SeaModule(Module):
|
|||||||
if key in cls.accessibles:
|
if key in cls.accessibles:
|
||||||
if key == 'target':
|
if key == 'target':
|
||||||
kwds['readonly'] = False
|
kwds['readonly'] = False
|
||||||
pobj = cls.accessibles[key]
|
prev = cls.accessibles[key]
|
||||||
pobj.init(kwds)
|
pobj = Parameter(**kwds)
|
||||||
|
merged_properties = prev.propertyValues.copy()
|
||||||
|
pobj.updateProperties(merged_properties)
|
||||||
|
pobj.merge(merged_properties)
|
||||||
datatype = kwds.get('datatype', cls.accessibles[key].datatype)
|
datatype = kwds.get('datatype', cls.accessibles[key].datatype)
|
||||||
else:
|
else:
|
||||||
pobj = Parameter(**kwds)
|
pobj = Parameter(**kwds)
|
||||||
@ -590,9 +594,10 @@ class SeaModule(Module):
|
|||||||
attributes[pname] = pobj
|
attributes[pname] = pobj
|
||||||
pobj.__set_name__(cls, pname)
|
pobj.__set_name__(cls, pname)
|
||||||
|
|
||||||
classname = '%s_%s' % (cls.__name__, sea_object)
|
classname = '%s_%s' % (cls.__name__, name)
|
||||||
newcls = type(classname, (cls,), attributes)
|
newcls = type(classname, (cls,), attributes)
|
||||||
return Module.__new__(newcls)
|
result = Module.__new__(newcls)
|
||||||
|
return result
|
||||||
|
|
||||||
def updateEvent(self, module, parameter, value, timestamp, readerror):
|
def updateEvent(self, module, parameter, value, timestamp, readerror):
|
||||||
upd = getattr(self, 'update_' + parameter, None)
|
upd = getattr(self, 'update_' + parameter, None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user