diff --git a/secop_psi/sea.py b/secop_psi/sea.py index a91f7987..123112ba 100644 --- a/secop_psi/sea.py +++ b/secop_psi/sea.py @@ -533,14 +533,17 @@ class SeaModule(Module): if key == 'target': kwds['readonly'] = False prev = cls.accessibles[key] - pobj = Parameter(**kwds) - merged_properties = prev.propertyValues.copy() - pobj.updateProperties(merged_properties) - pobj.merge(merged_properties) - datatype = kwds.get('datatype', cls.accessibles[key].datatype) + if key == 'status': + # special case: status from sea is a string, not the status tuple + pobj = prev.copy() + else: + pobj = Parameter(**kwds) + merged_properties = prev.propertyValues.copy() + pobj.updateProperties(merged_properties) + pobj.merge(merged_properties) else: pobj = Parameter(**kwds) - datatype = pobj.datatype + datatype = pobj.datatype if issubclass(cls, SeaWritable) and key == 'target': kwds['readonly'] = False attributes['value'] = Parameter(**kwds)