From 04c1b8905508253456e9bab7008bfe1263d98999 Mon Sep 17 00:00:00 2001 From: Thomas Fricard Date: Wed, 25 Jan 2023 09:33:23 +0100 Subject: [PATCH 1/4] fix typo + remove part which creates second reference per placeholder --- .../hosts/maya/api/workfile_template_builder.py | 2 +- .../pipeline/workfile/workfile_template_builder.py | 14 -------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/openpype/hosts/maya/api/workfile_template_builder.py b/openpype/hosts/maya/api/workfile_template_builder.py index ef043ed0f4..8e0f1d0f01 100644 --- a/openpype/hosts/maya/api/workfile_template_builder.py +++ b/openpype/hosts/maya/api/workfile_template_builder.py @@ -240,7 +240,7 @@ class MayaPlaceholderLoadPlugin(PlaceholderPlugin, PlaceholderLoadMixin): cmds.setAttr(node + ".hiddenInOutliner", True) def load_succeed(self, placeholder, container): - self._parent_in_hierarhchy(placeholder, container) + self._parent_in_hierarchy(placeholder, container) def _parent_in_hierarchy(self, placeholder, container): """Parent loaded container to placeholder's parent. diff --git a/openpype/pipeline/workfile/workfile_template_builder.py b/openpype/pipeline/workfile/workfile_template_builder.py index 582657c735..d262d6a771 100644 --- a/openpype/pipeline/workfile/workfile_template_builder.py +++ b/openpype/pipeline/workfile/workfile_template_builder.py @@ -521,10 +521,6 @@ class AbstractTemplateBuilder(object): if not level_limit: level_limit = 1000 - placeholder_by_scene_id = { - placeholder.scene_identifier: placeholder - for placeholder in placeholders - } all_processed = len(placeholders) == 0 # Counter is checked at the ned of a loop so the loop happens at least # once. @@ -573,16 +569,6 @@ class AbstractTemplateBuilder(object): break all_processed = True - collected_placeholders = self.get_placeholders() - for placeholder in collected_placeholders: - identifier = placeholder.scene_identifier - if identifier in placeholder_by_scene_id: - continue - - all_processed = False - placeholder_by_scene_id[identifier] = placeholder - placeholders.append(placeholder) - self.refresh() def _get_build_profiles(self): From a5ca4f93b8cdf4102828d5fd91d563e808081440 Mon Sep 17 00:00:00 2001 From: Thomas Fricard Date: Mon, 30 Jan 2023 15:21:29 +0100 Subject: [PATCH 2/4] cancel recursivity removal --- .../workfile/workfile_template_builder.py | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/openpype/pipeline/workfile/workfile_template_builder.py b/openpype/pipeline/workfile/workfile_template_builder.py index d262d6a771..fd5ac16579 100644 --- a/openpype/pipeline/workfile/workfile_template_builder.py +++ b/openpype/pipeline/workfile/workfile_template_builder.py @@ -521,6 +521,11 @@ class AbstractTemplateBuilder(object): if not level_limit: level_limit = 1000 + placeholder_by_scene_id = { + placeholder.scene_identifier: placeholder + for placeholder in placeholders + } + all_processed = len(placeholders) == 0 # Counter is checked at the ned of a loop so the loop happens at least # once. @@ -561,14 +566,24 @@ class AbstractTemplateBuilder(object): placeholder.set_finished() - # Clear shared data before getting new placeholders - self.clear_shared_populate_data() + # self.clear_shared_populate_data() iter_counter += 1 if iter_counter >= level_limit: break all_processed = True + + collected_placeholders = self.get_placeholders() + for placeholder in collected_placeholders: + identifier = placeholder.scene_identifier + if identifier in placeholder_by_scene_id: + continue + + all_processed = False + placeholder_by_scene_id[identifier] = placeholder + placeholders.append(placeholder) + self.refresh() def _get_build_profiles(self): @@ -988,7 +1003,7 @@ class PlaceholderItem(object): return self._log def __repr__(self): - return "< {} {} >".format(self.__class__.__name__, self.name) + return "< {} {} >".format(self.__class__.__name__, self.data['family']) @property def order(self): From b83f0ac79948a26f1b757c0b965e4c138c271a11 Mon Sep 17 00:00:00 2001 From: Thomas Fricard Date: Thu, 2 Feb 2023 12:46:49 +0100 Subject: [PATCH 3/4] restore file as it was originally --- openpype/pipeline/workfile/workfile_template_builder.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/pipeline/workfile/workfile_template_builder.py b/openpype/pipeline/workfile/workfile_template_builder.py index fd5ac16579..42d8cc82e1 100644 --- a/openpype/pipeline/workfile/workfile_template_builder.py +++ b/openpype/pipeline/workfile/workfile_template_builder.py @@ -525,7 +525,6 @@ class AbstractTemplateBuilder(object): placeholder.scene_identifier: placeholder for placeholder in placeholders } - all_processed = len(placeholders) == 0 # Counter is checked at the ned of a loop so the loop happens at least # once. @@ -566,7 +565,8 @@ class AbstractTemplateBuilder(object): placeholder.set_finished() - # self.clear_shared_populate_data() + # Clear shared data before getting new placeholders + self.clear_shared_populate_data() iter_counter += 1 if iter_counter >= level_limit: @@ -1003,7 +1003,7 @@ class PlaceholderItem(object): return self._log def __repr__(self): - return "< {} {} >".format(self.__class__.__name__, self.data['family']) + return "< {} {} >".format(self.__class__.__name__, self.name) @property def order(self): From 77b55cca517705108e8d8ef7e0c0a577131309c3 Mon Sep 17 00:00:00 2001 From: Thomas Fricard Date: Thu, 2 Feb 2023 12:46:49 +0100 Subject: [PATCH 4/4] restore file as it was originally --- openpype/pipeline/workfile/workfile_template_builder.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/openpype/pipeline/workfile/workfile_template_builder.py b/openpype/pipeline/workfile/workfile_template_builder.py index fd5ac16579..582657c735 100644 --- a/openpype/pipeline/workfile/workfile_template_builder.py +++ b/openpype/pipeline/workfile/workfile_template_builder.py @@ -525,7 +525,6 @@ class AbstractTemplateBuilder(object): placeholder.scene_identifier: placeholder for placeholder in placeholders } - all_processed = len(placeholders) == 0 # Counter is checked at the ned of a loop so the loop happens at least # once. @@ -566,14 +565,14 @@ class AbstractTemplateBuilder(object): placeholder.set_finished() - # self.clear_shared_populate_data() + # Clear shared data before getting new placeholders + self.clear_shared_populate_data() iter_counter += 1 if iter_counter >= level_limit: break all_processed = True - collected_placeholders = self.get_placeholders() for placeholder in collected_placeholders: identifier = placeholder.scene_identifier @@ -1003,7 +1002,7 @@ class PlaceholderItem(object): return self._log def __repr__(self): - return "< {} {} >".format(self.__class__.__name__, self.data['family']) + return "< {} {} >".format(self.__class__.__name__, self.name) @property def order(self):