From 95d8f7fb31c25edb4f2cc6679c7eccc74b20599e Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 19 Mar 2021 11:27:16 +0100 Subject: [PATCH] AnatomyEntity makes sure that all children all overriden on project overrides --- pype/settings/entities/anatomy_entities.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pype/settings/entities/anatomy_entities.py b/pype/settings/entities/anatomy_entities.py index 4e16b8a840..d048ffabba 100644 --- a/pype/settings/entities/anatomy_entities.py +++ b/pype/settings/entities/anatomy_entities.py @@ -1,8 +1,25 @@ from .dict_immutable_keys_entity import DictImmutableKeysEntity +from .lib import OverrideState class AnatomyEntity(DictImmutableKeysEntity): schema_types = ["anatomy"] + def _update_current_metadata(self): + if self._override_state is OverrideState.PROJECT: + return {} + return super(AnatomyEntity, self)._update_current_metadata() + def set_override_state(self, *args, **kwargs): + super(AnatomyEntity, self).set_override_state(*args, **kwargs) + if self._override_state is OverrideState.PROJECT: + for child_obj in self.non_gui_children.values(): + if not child_obj.has_project_override: + self.add_to_project_override() + break + def on_child_change(self, child_obj): + if self._override_state is OverrideState.PROJECT: + if not child_obj.has_project_override: + child_obj.add_to_project_override() + return super(AnatomyEntity, self).on_child_change(child_obj)