not set defaults are ignored if entity is in dynamic item

This commit is contained in:
iLLiCiTiT 2021-02-05 12:34:48 +01:00
parent aca782aaa2
commit 4c67393ec3
4 changed files with 20 additions and 22 deletions

View file

@ -154,7 +154,6 @@ class BaseEntity:
def get_child_path(self, child_obj):
pass
@abstractmethod
def schema_validations(self):
pass
@ -671,6 +670,7 @@ class SystemRootEntity(RootEntity):
value = default_value.get(key, NOT_SET)
child_obj.update_default_value(value)
studio_overrides = {}
studio_overrides = get_studio_system_settings_overrides()
for key, child_obj in self.non_gui_children.items():
value = studio_overrides.get(key, NOT_SET)

View file

@ -182,11 +182,10 @@ class InputEntity(ItemEntity):
def set_override_state(self, state):
self.override_state = state
if (
not self.has_default_value
and state in (OverrideState.STUDIO, OverrideState.PROJECT)
):
raise DefaultsNotDefined(self)
if not self.has_default_value and state > OverrideState.DEFAULTS:
# Ignore if is dynamic item and use default in that case
if not self.is_dynamic_item and not self.is_in_dynamic_item:
raise DefaultsNotDefined(self)
if state is OverrideState.STUDIO:
self._has_studio_override = (
@ -431,11 +430,10 @@ class RawJsonEntity(InputEntity):
def set_override_state(self, state):
self.override_state = state
if (
not self.has_default_value
and state in (OverrideState.STUDIO, OverrideState.PROJECT)
):
raise DefaultsNotDefined(self)
if not self.has_default_value and state > OverrideState.DEFAULTS:
# Ignore if is dynamic item and use default in that case
if not self.is_dynamic_item and not self.is_in_dynamic_item:
raise DefaultsNotDefined(self)
if state is OverrideState.STUDIO:
self._has_studio_override = (

View file

@ -440,11 +440,10 @@ class DictMutableKeysEntity(ItemEntity):
def set_override_state(self, state):
# TODO change metadata
self.override_state = state
if (
not self.has_default_value
and state in (OverrideState.STUDIO, OverrideState.PROJECT)
):
raise DefaultsNotDefined(self)
if not self.has_default_value and state > OverrideState.DEFAULTS:
# Ignore if is dynamic item and use default in that case
if not self.is_dynamic_item and not self.is_in_dynamic_item:
raise DefaultsNotDefined(self)
using_overrides = True
if (
@ -800,11 +799,10 @@ class ListStrictEntity(ItemEntity):
def set_override_state(self, state):
# TODO use right value as current_value is held here
self.override_state = state
if (
not self.has_default_value
and state in (OverrideState.STUDIO, OverrideState.PROJECT)
):
raise DefaultsNotDefined(self)
if not self.has_default_value and state > OverrideState.DEFAULTS:
# Ignore if is dynamic item and use default in that case
if not self.is_dynamic_item and not self.is_in_dynamic_item:
raise DefaultsNotDefined(self)
for child_obj in self.children:
child_obj.set_override_state(state)

View file

@ -134,7 +134,9 @@ class ListEntity(ItemEntity):
self.children.pop(0)
if not self.has_default_value and state > OverrideState.DEFAULTS:
raise DefaultsNotDefined(self)
# Ignore if is dynamic item and use default in that case
if not self.is_dynamic_item and not self.is_in_dynamic_item:
raise DefaultsNotDefined(self)
value = NOT_SET
if self.override_state is OverrideState.PROJECT: