check_update_value is used during update values methods

This commit is contained in:
iLLiCiTiT 2021-02-10 14:46:06 +01:00
parent bbc5c1f0a3
commit 5a4bdf3aa3
5 changed files with 20 additions and 4 deletions

View file

@ -310,6 +310,8 @@ class DictImmutableKeysEntity(ItemEntity):
if value is NOT_SET:
return NOT_SET, NOT_SET
# Create copy of value before poping values
value = copy.deepcopy(value)
metadata = {}
for key in METADATA_KEYS:
if key in value:
@ -317,6 +319,7 @@ class DictImmutableKeysEntity(ItemEntity):
return value, metadata
def update_default_value(self, value):
value = self.check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
# TODO add value validation
value, metadata = self._prepare_value(value)
@ -342,6 +345,7 @@ class DictImmutableKeysEntity(ItemEntity):
child_obj.update_default_value(child_value)
def update_studio_values(self, value):
value = self.check_update_value(value, "studio override")
value, metadata = self._prepare_value(value)
self.studio_override_metadata = metadata
@ -364,6 +368,7 @@ class DictImmutableKeysEntity(ItemEntity):
child_obj.update_studio_values(child_value)
def update_project_values(self, value):
value = self.check_update_value(value, "project override")
value, metadata = self._prepare_value(value)
self.project_override_metadata = metadata

View file

@ -395,18 +395,21 @@ class DictMutableKeysEntity(ItemEntity):
return value, metadata
def update_default_value(self, value):
value = self.check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.default_value = value
self.default_metadata = metadata
def update_studio_values(self, value):
value = self.check_update_value(value, "studio override")
value, metadata = self._prepare_value(value)
self.studio_override_value = value
self.studio_override_metadata = metadata
self.had_studio_override = value is not NOT_SET
def update_project_values(self, value):
value = self.check_update_value(value, "project override")
value, metadata = self._prepare_value(value)
self.project_override_value = value
self.project_override_metadata = metadata

View file

@ -108,17 +108,17 @@ class InputEntity(ItemEntity):
raise TypeError("Input entities do not contain children.")
def update_default_value(self, value):
# NOTE must call set_override_state manually
value = self.check_update_value(value, "default")
self.default_value = value
self.has_default_value = value is not NOT_SET
def update_studio_values(self, value):
# NOTE must call set_override_state manually
value = self.check_update_value(value, "studio override")
self.studio_override_value = value
self.had_studio_override = bool(value is not NOT_SET)
def update_project_values(self, value):
# NOTE must call set_override_state manually
value = self.check_update_value(value, "project override")
self.project_override_value = value
self.had_project_override = bool(value is not NOT_SET)
@ -521,18 +521,21 @@ class RawJsonEntity(InputEntity):
return value, metadata
def update_default_value(self, value):
value = self.check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.default_value = value
self.default_metadata = metadata
def update_studio_values(self, value):
value = self.check_update_value(value, "studio override")
self.had_studio_override = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.studio_override_value = value
self.studio_override_metadata = metadata
def update_project_values(self, value):
value = self.check_update_value(value, "project override")
self.had_project_override = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.project_override_value = value

View file

@ -557,7 +557,7 @@ class ListStrictEntity(ItemEntity):
self._has_project_override = False
def update_default_value(self, value):
# TODO add value validation (length)
value = self.check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
if value is NOT_SET:
for child_obj in self.children:
@ -568,6 +568,7 @@ class ListStrictEntity(ItemEntity):
self.children[idx].update_default_value(item_value)
def update_studio_values(self, value):
value = self.check_update_value(value, "studio override")
if value is NOT_SET:
for child_obj in self.children:
child_obj.update_studio_values(value)
@ -577,6 +578,7 @@ class ListStrictEntity(ItemEntity):
self.children[idx].update_studio_values(item_value)
def update_project_values(self, value):
value = self.check_update_value(value, "project override")
if value is NOT_SET:
for child_obj in self.children:
child_obj.update_project_values(value)

View file

@ -431,13 +431,16 @@ class ListEntity(ItemEntity):
on_change_trigger.append(self.on_change)
def update_default_value(self, value):
value = self.check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
self.default_value = value
def update_studio_values(self, value):
value = self.check_update_value(value, "studio override")
self.had_studio_override = value is not NOT_SET
self.studio_override_value = value
def update_project_values(self, value):
value = self.check_update_value(value, "project override")
self.had_project_override = value is not NOT_SET
self.project_override_value = value