mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-25 15:06:38 +02:00
[core] Attribute: add isDefault and getPrimitiveValue
This commit is contained in:
parent
3a6473b78f
commit
0847a80bdc
1 changed files with 24 additions and 0 deletions
|
@ -225,6 +225,12 @@ class Attribute(BaseObject):
|
||||||
return self.desc.value
|
return self.desc.value
|
||||||
return self._value
|
return self._value
|
||||||
|
|
||||||
|
def isDefault(self):
|
||||||
|
return self._value == self.desc.value
|
||||||
|
|
||||||
|
def getPrimitiveValue(self, exportDefault=True):
|
||||||
|
return self._value
|
||||||
|
|
||||||
name = Property(str, getName, constant=True)
|
name = Property(str, getName, constant=True)
|
||||||
label = Property(str, getLabel, constant=True)
|
label = Property(str, getLabel, constant=True)
|
||||||
type = Property(str, getType, constant=True)
|
type = Property(str, getType, constant=True)
|
||||||
|
@ -286,6 +292,15 @@ class ListAttribute(Attribute):
|
||||||
def getExportValue(self):
|
def getExportValue(self):
|
||||||
return [attr.getExportValue() for attr in self._value]
|
return [attr.getExportValue() for attr in self._value]
|
||||||
|
|
||||||
|
def isDefault(self):
|
||||||
|
return bool(self._value)
|
||||||
|
|
||||||
|
def getPrimitiveValue(self, exportDefault=True):
|
||||||
|
if exportDefault:
|
||||||
|
return [attr.getPrimitiveValue(exportDefault=exportDefault) for attr in self._value]
|
||||||
|
else:
|
||||||
|
return [attr.getPrimitiveValue(exportDefault=exportDefault) for attr in self._value if not attr.isDefault()]
|
||||||
|
|
||||||
# Override value property setter
|
# Override value property setter
|
||||||
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
||||||
|
|
||||||
|
@ -331,6 +346,15 @@ class GroupAttribute(Attribute):
|
||||||
def getExportValue(self):
|
def getExportValue(self):
|
||||||
return {key: attr.getExportValue() for key, attr in self._value.objects.items()}
|
return {key: attr.getExportValue() for key, attr in self._value.objects.items()}
|
||||||
|
|
||||||
|
def isDefault(self):
|
||||||
|
return len(self._value) == 0
|
||||||
|
|
||||||
|
def getPrimitiveValue(self, exportDefault=True):
|
||||||
|
if exportDefault:
|
||||||
|
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items()}
|
||||||
|
else:
|
||||||
|
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items() if not attr.isDefault()}
|
||||||
|
|
||||||
# Override value property
|
# Override value property
|
||||||
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue