diff --git a/pype/settings/entities/base_entity.py b/pype/settings/entities/base_entity.py index 34dfb3404a..6d3133e82c 100644 --- a/pype/settings/entities/base_entity.py +++ b/pype/settings/entities/base_entity.py @@ -116,7 +116,7 @@ class BaseEntity: # Default input attributes self.has_default_value = False - self.has_studio_override = False + self._has_studio_override = False self.had_studio_override = False self._has_project_override = False @@ -128,6 +128,12 @@ class BaseEntity: self.on_change_callbacks = [] + @property + def has_studio_override(self): + if self.override_state >= OverrideState.STUDIO: + return self._has_studio_override + return False + @property def has_project_override(self): if self.override_state is OverrideState.PROJECT: diff --git a/pype/settings/entities/input_entities.py b/pype/settings/entities/input_entities.py index 728c2f1434..e0e26431bc 100644 --- a/pype/settings/entities/input_entities.py +++ b/pype/settings/entities/input_entities.py @@ -68,7 +68,7 @@ class InputEntity(ItemEntity): self._has_project_override = True elif self.override_state is OverrideState.STUDIO: - self.has_studio_override = True + self._has_studio_override = True self.on_change() @@ -88,7 +88,7 @@ class InputEntity(ItemEntity): self.override_state is OverrideState.STUDIO or value_is_modified is None and ( - self.has_studio_override + self._has_studio_override and self.studio_override_value is not NOT_SET ) ): @@ -149,10 +149,10 @@ class InputEntity(ItemEntity): return True elif self.override_state is OverrideState.STUDIO: - if self.has_studio_override != self.had_studio_override: + if self._has_studio_override != self.had_studio_override: return True - if not self.has_studio_override and not self.has_default_value: + if not self._has_studio_override and not self.has_default_value: return True elif self.override_state is OverrideState.PROJECT: @@ -161,7 +161,7 @@ class InputEntity(ItemEntity): if ( not self._has_project_override - and not self.has_studio_override + and not self._has_studio_override and not self.has_default_value ): return True @@ -173,7 +173,7 @@ class InputEntity(ItemEntity): if self.is_group: if self.override_state is OverrideState.STUDIO: - if not self.has_studio_override: + if not self._has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: if not self._has_project_override: @@ -189,7 +189,7 @@ class InputEntity(ItemEntity): raise DefaultsNotDefined(self) if state is OverrideState.STUDIO: - self.has_studio_override = ( + self._has_studio_override = ( self.studio_override_value is not NOT_SET ) @@ -197,7 +197,7 @@ class InputEntity(ItemEntity): self._has_project_override = ( self.project_override_value is not NOT_SET ) - self.has_studio_override = self.had_studio_override + self._has_studio_override = self.had_studio_override if ( state is OverrideState.PROJECT @@ -205,7 +205,7 @@ class InputEntity(ItemEntity): ): value = self.project_override_value - elif self.has_studio_override: + elif self._has_studio_override: value = self.studio_override_value else: @@ -223,7 +223,7 @@ class InputEntity(ItemEntity): def remove_overrides(self): current_value = self.default_value if self.override_state is OverrideState.STUDIO: - self.has_studio_override = False + self._has_studio_override = False elif self.override_state is OverrideState.PROJECT: self._has_project_override = False @@ -237,7 +237,7 @@ class InputEntity(ItemEntity): raise ValueError( "Can't reset to Pype defaults on project overrides state." ) - self.has_studio_override = False + self._has_studio_override = False value = self.default_value if value is NOT_SET: value = self.value_on_not_set @@ -397,7 +397,7 @@ class RawJsonEntity(InputEntity): raise DefaultsNotDefined(self) if state is OverrideState.STUDIO: - self.has_studio_override = ( + self._has_studio_override = ( self.studio_override_value is not NOT_SET ) @@ -405,7 +405,7 @@ class RawJsonEntity(InputEntity): self._has_project_override = ( self.project_override_value is not NOT_SET ) - self.has_studio_override = self.had_studio_override + self._has_studio_override = self.had_studio_override if ( state is OverrideState.PROJECT @@ -413,7 +413,7 @@ class RawJsonEntity(InputEntity): ): value = self.project_override_value - elif self.has_studio_override: + elif self._has_studio_override: value = self.studio_override_value elif self.default_value is not NOT_SET: diff --git a/pype/settings/entities/item_entities.py b/pype/settings/entities/item_entities.py index c391acff32..053b942db3 100644 --- a/pype/settings/entities/item_entities.py +++ b/pype/settings/entities/item_entities.py @@ -405,7 +405,7 @@ class DictImmutableKeysEntity(ItemEntity): elif state is OverrideState.STUDIO: if self.studio_override_metadata is NOT_SET: self.had_studio_override = False - self.has_studio_override = self.had_studio_override + self._has_studio_override = self.had_studio_override elif state is OverrideState.PROJECT: if self.project_override_metadata is NOT_SET: @@ -437,7 +437,7 @@ class DictImmutableKeysEntity(ItemEntity): elif ( self.override_state is OverrideState.STUDIO - and self.has_studio_override != self.had_studio_override + and self._has_studio_override != self.had_studio_override ): return True @@ -471,7 +471,7 @@ class DictImmutableKeysEntity(ItemEntity): if self.is_group: if self.override_state is OverrideState.STUDIO: - if not self.has_studio_override: + if not self._has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: if not self._has_project_override: @@ -891,7 +891,7 @@ class DictMutableKeysEntity(ItemEntity): if self.is_group: if self.override_state is OverrideState.STUDIO: - if not self.has_studio_override: + if not self._has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: @@ -1132,7 +1132,7 @@ class ListEntity(ItemEntity): if self.is_group: if self.override_state is OverrideState.STUDIO: - if not self.has_studio_override: + if not self._has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: if not self._has_project_override: @@ -1272,7 +1272,7 @@ class PathEntity(ItemEntity): if self.is_group: if self.override_state is OverrideState.STUDIO: - if not self.has_studio_override: + if not self._has_studio_override: return NOT_SET elif self.override_state is OverrideState.PROJECT: if not self._has_project_override: