diff --git a/pype/settings/entities/base_entity.py b/pype/settings/entities/base_entity.py index 61cae6cdc7..34dfb3404a 100644 --- a/pype/settings/entities/base_entity.py +++ b/pype/settings/entities/base_entity.py @@ -119,7 +119,7 @@ class BaseEntity: self.has_studio_override = False self.had_studio_override = False - self.has_project_override = False + self._has_project_override = False self.had_project_override = False self.value_is_modified = False @@ -128,6 +128,12 @@ class BaseEntity: self.on_change_callbacks = [] + @property + def has_project_override(self): + if self.override_state is OverrideState.PROJECT: + return self._has_project_override + return False + @property def path(self): if self._path is not None: diff --git a/pype/settings/entities/input_entities.py b/pype/settings/entities/input_entities.py index 33e5a9d057..728c2f1434 100644 --- a/pype/settings/entities/input_entities.py +++ b/pype/settings/entities/input_entities.py @@ -65,7 +65,7 @@ class InputEntity(ItemEntity): def on_value_change(self): # Change has_project_override attr value if self.override_state is OverrideState.PROJECT: - self.has_project_override = True + self._has_project_override = True elif self.override_state is OverrideState.STUDIO: self.has_studio_override = True @@ -77,7 +77,7 @@ class InputEntity(ItemEntity): if self.override_state is OverrideState.PROJECT: # Only value change if ( - self.has_project_override + self._has_project_override and self.project_override_value is not NOT_SET ): value_is_modified = ( @@ -156,11 +156,11 @@ class InputEntity(ItemEntity): return True elif self.override_state is OverrideState.PROJECT: - if self.has_project_override != self.had_project_override: + if self._has_project_override != self.had_project_override: return True if ( - not self.has_project_override + not self._has_project_override and not self.has_studio_override and not self.has_default_value ): @@ -176,7 +176,7 @@ class InputEntity(ItemEntity): if not self.has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: - if not self.has_project_override: + if not self._has_project_override: return NOT_SET return self.value @@ -194,14 +194,14 @@ class InputEntity(ItemEntity): ) elif state is OverrideState.PROJECT: - self.has_project_override = ( + self._has_project_override = ( self.project_override_value is not NOT_SET ) self.has_studio_override = self.had_studio_override if ( state is OverrideState.PROJECT - and self.has_project_override + and self._has_project_override ): value = self.project_override_value @@ -226,7 +226,7 @@ class InputEntity(ItemEntity): self.has_studio_override = False elif self.override_state is OverrideState.PROJECT: - self.has_project_override = False + self._has_project_override = False if self.studio_override_value is not NOT_SET: current_value = self.studio_override_value @@ -402,14 +402,14 @@ class RawJsonEntity(InputEntity): ) elif state is OverrideState.PROJECT: - self.has_project_override = ( + self._has_project_override = ( self.project_override_value is not NOT_SET ) self.has_studio_override = self.had_studio_override if ( state is OverrideState.PROJECT - and self.has_project_override + and self._has_project_override ): value = self.project_override_value diff --git a/pype/settings/entities/item_entities.py b/pype/settings/entities/item_entities.py index e86d70fba2..c391acff32 100644 --- a/pype/settings/entities/item_entities.py +++ b/pype/settings/entities/item_entities.py @@ -410,7 +410,7 @@ class DictImmutableKeysEntity(ItemEntity): elif state is OverrideState.PROJECT: if self.project_override_metadata is NOT_SET: self.had_project_override = False - self.has_project_override = self.had_project_override + self._has_project_override = self.had_project_override for child_obj in self.non_gui_children.values(): child_obj.set_override_state(state) @@ -431,7 +431,7 @@ class DictImmutableKeysEntity(ItemEntity): if ( self.override_state is OverrideState.PROJECT - and self.has_project_override != self.had_project_override + and self._has_project_override != self.had_project_override ): return True @@ -474,7 +474,7 @@ class DictImmutableKeysEntity(ItemEntity): if not self.has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: - if not self.has_project_override: + if not self._has_project_override: return NOT_SET output = {} @@ -895,7 +895,7 @@ class DictMutableKeysEntity(ItemEntity): return NOT_SET elif self.override_state is OverrideState.PROJECT: - if not self.has_project_override: + if not self._has_project_override: return NOT_SET output = copy.deepcopy(self._current_value) @@ -1135,7 +1135,7 @@ class ListEntity(ItemEntity): if not self.has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: - if not self.has_project_override: + if not self._has_project_override: return NOT_SET output = [] @@ -1275,7 +1275,7 @@ class PathEntity(ItemEntity): if not self.has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: - if not self.has_project_override: + if not self._has_project_override: return NOT_SET return self.child_obj.settings_value()