From ed987073478f9f3ba53c393edcd33711a0e9d1a0 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 10 Sep 2024 21:41:00 +0200 Subject: [PATCH 1/5] Add missing space in log message --- client/ayon_core/plugins/publish/extract_burnin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/plugins/publish/extract_burnin.py b/client/ayon_core/plugins/publish/extract_burnin.py index 58a032a030..a25b7244d4 100644 --- a/client/ayon_core/plugins/publish/extract_burnin.py +++ b/client/ayon_core/plugins/publish/extract_burnin.py @@ -198,7 +198,7 @@ class ExtractBurnin(publish.Extractor): ) if not burnins_per_repres: self.log.debug( - "Skipped instance. No representations found matching a burnin" + "Skipped instance. No representations found matching a burnin " "definition in: %s", burnin_defs ) return From 264ff3f217c974fb36d1c070fec27dd761e37c4c Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 10 Sep 2024 21:58:52 +0200 Subject: [PATCH 2/5] Cosmetics --- .../ayon_core/plugins/publish/extract_burnin.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/client/ayon_core/plugins/publish/extract_burnin.py b/client/ayon_core/plugins/publish/extract_burnin.py index a25b7244d4..12cc9fbc71 100644 --- a/client/ayon_core/plugins/publish/extract_burnin.py +++ b/client/ayon_core/plugins/publish/extract_burnin.py @@ -399,7 +399,7 @@ class ExtractBurnin(publish.Extractor): add_repre_files_for_cleanup(instance, new_repre) - # Cleanup temp staging dir after procesisng of output definitions + # Cleanup temp staging dir after processing of output definitions if do_convert: temp_dir = repre["stagingDir"] shutil.rmtree(temp_dir) @@ -420,6 +420,11 @@ class ExtractBurnin(publish.Extractor): self.log.debug("Removed: \"{}\"".format(filepath)) def _get_burnin_options(self): + """Get the burnin options from `ExtractBurnin` settings. + + Returns: + dict[str, Any]: Burnin options. + """ # Prepare burnin options burnin_options = copy.deepcopy(self.default_options) if self.options: @@ -696,7 +701,7 @@ class ExtractBurnin(publish.Extractor): """Prepare data for representation. Args: - instance (Instance): Currently processed Instance. + instance (pyblish.api.Instance): Currently processed Instance. repre (dict): Currently processed representation. burnin_data (dict): Copy of basic burnin data based on instance data. @@ -752,9 +757,10 @@ class ExtractBurnin(publish.Extractor): Args: profile (dict): Profile from presets matching current context. + instance (pyblish.api.Instance): Publish instance. Returns: - list: Contain all valid output definitions. + list[dict[str, Any]]: Contain all valid output definitions. """ filtered_burnin_defs = [] @@ -774,8 +780,8 @@ class ExtractBurnin(publish.Extractor): families, families_filters ): self.log.debug(( - "Skipped burnin definition \"{}\". Family" - " filters ({}) does not match current instance families: {}" + "Skipped burnin definition \"{}\". Family filters ({}) " + "does not match current instance families: {}" ).format( filename_suffix, str(families_filters), str(families) )) From b55a3e5974f76690cfad853d3b4354a27e6c3baf Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 10 Sep 2024 23:10:28 +0200 Subject: [PATCH 3/5] Get context attributes from current task entity (if current task is set) instead of from folder entity --- .../plugins/publish/collect_context_entities.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/client/ayon_core/plugins/publish/collect_context_entities.py b/client/ayon_core/plugins/publish/collect_context_entities.py index c8d25bc3e6..4de83f0d53 100644 --- a/client/ayon_core/plugins/publish/collect_context_entities.py +++ b/client/ayon_core/plugins/publish/collect_context_entities.py @@ -53,8 +53,9 @@ class CollectContextEntities(pyblish.api.ContextPlugin): context.data["folderEntity"] = folder_entity context.data["taskEntity"] = task_entity - - folder_attributes = folder_entity["attrib"] + context_attributes = ( + task_entity["attrib"] if task_entity else folder_entity["attrib"] + ) # Task type task_type = None @@ -63,12 +64,12 @@ class CollectContextEntities(pyblish.api.ContextPlugin): context.data["taskType"] = task_type - frame_start = folder_attributes.get("frameStart") + frame_start = context_attributes.get("frameStart") if frame_start is None: frame_start = 1 self.log.warning("Missing frame start. Defaulting to 1.") - frame_end = folder_attributes.get("frameEnd") + frame_end = context_attributes.get("frameEnd") if frame_end is None: frame_end = 2 self.log.warning("Missing frame end. Defaulting to 2.") @@ -76,8 +77,8 @@ class CollectContextEntities(pyblish.api.ContextPlugin): context.data["frameStart"] = frame_start context.data["frameEnd"] = frame_end - handle_start = folder_attributes.get("handleStart") or 0 - handle_end = folder_attributes.get("handleEnd") or 0 + handle_start = context_attributes.get("handleStart") or 0 + handle_end = context_attributes.get("handleEnd") or 0 context.data["handleStart"] = int(handle_start) context.data["handleEnd"] = int(handle_end) @@ -87,7 +88,7 @@ class CollectContextEntities(pyblish.api.ContextPlugin): context.data["frameStartHandle"] = frame_start_h context.data["frameEndHandle"] = frame_end_h - context.data["fps"] = folder_attributes["fps"] + context.data["fps"] = context_attributes["fps"] def _get_folder_entity(self, project_name, folder_path): if not folder_path: From c2cfef7703d7ee9bb8ddd77b18d848ef4efdbdd5 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Wed, 18 Sep 2024 00:48:44 +0200 Subject: [PATCH 4/5] Apply suggestions from code review Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- client/ayon_core/plugins/publish/extract_burnin.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/plugins/publish/extract_burnin.py b/client/ayon_core/plugins/publish/extract_burnin.py index 12cc9fbc71..00f49a55b9 100644 --- a/client/ayon_core/plugins/publish/extract_burnin.py +++ b/client/ayon_core/plugins/publish/extract_burnin.py @@ -198,8 +198,8 @@ class ExtractBurnin(publish.Extractor): ) if not burnins_per_repres: self.log.debug( - "Skipped instance. No representations found matching a burnin " - "definition in: %s", burnin_defs + "Skipped instance. No representations found matching a burnin" + " definition in: %s", burnin_defs ) return @@ -424,6 +424,7 @@ class ExtractBurnin(publish.Extractor): Returns: dict[str, Any]: Burnin options. + """ # Prepare burnin options burnin_options = copy.deepcopy(self.default_options) @@ -761,6 +762,7 @@ class ExtractBurnin(publish.Extractor): Returns: list[dict[str, Any]]: Contain all valid output definitions. + """ filtered_burnin_defs = [] From 086b452a02e4c94bf4457c13271019de2908dadf Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Wed, 18 Sep 2024 00:51:19 +0200 Subject: [PATCH 5/5] Reformat based on code review --- client/ayon_core/plugins/publish/extract_burnin.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/ayon_core/plugins/publish/extract_burnin.py b/client/ayon_core/plugins/publish/extract_burnin.py index 12cc9fbc71..dff82f3a80 100644 --- a/client/ayon_core/plugins/publish/extract_burnin.py +++ b/client/ayon_core/plugins/publish/extract_burnin.py @@ -779,12 +779,11 @@ class ExtractBurnin(publish.Extractor): if not self.families_filter_validation( families, families_filters ): - self.log.debug(( - "Skipped burnin definition \"{}\". Family filters ({}) " - "does not match current instance families: {}" - ).format( - filename_suffix, str(families_filters), str(families) - )) + self.log.debug( + f"Skipped burnin definition \"{filename_suffix}\"." + f" Family filters ({families_filters}) does not match" + f" current instance families: {families}" + ) continue # Burnin values