From 425ddc7b2bb9399dd2d187761a4cc8755b000b79 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 12 May 2023 14:26:15 +0200 Subject: [PATCH] fusion: reversing toolSaver back to tool --- .../hosts/fusion/plugins/publish/collect_render.py | 14 ++++++++++---- .../fusion/plugins/publish/extract_render_local.py | 2 +- .../publish/validate_create_folder_checked.py | 2 +- .../publish/validate_expected_frames_existence.py | 4 ++-- .../publish/validate_filename_has_extension.py | 2 +- .../plugins/publish/validate_saver_has_input.py | 2 +- .../plugins/publish/validate_saver_passthrough.py | 2 +- .../plugins/publish/validate_unique_subsets.py | 2 +- 8 files changed, 18 insertions(+), 12 deletions(-) diff --git a/openpype/hosts/fusion/plugins/publish/collect_render.py b/openpype/hosts/fusion/plugins/publish/collect_render.py index 26355b24d3..64d9aedc3b 100644 --- a/openpype/hosts/fusion/plugins/publish/collect_render.py +++ b/openpype/hosts/fusion/plugins/publish/collect_render.py @@ -14,7 +14,7 @@ class FusionRenderInstance(RenderInstance): projectEntity = attr.ib(default=None) stagingDir = attr.ib(default=None) app_version = attr.ib(default=None) - toolSaver = attr.ib(default=None) + tool = attr.ib(default=None) workfileComp = attr.ib(default=None) publish_attributes = attr.ib(default={}) @@ -58,7 +58,7 @@ class CollectFusionRender( subset_name = inst.data["subset"] instance = FusionRenderInstance( family="render", - toolSaver=tool, + tool=tool, workfileComp=comp, families=instance_families, version=version, @@ -111,6 +111,8 @@ class CollectFusionRender( # to skip ExtractReview locally instance.families.remove("review") + # add new instance to the list and remove the original + # instance since it is not needed anymore instances.append(instance) instances_to_remove.append(inst) @@ -141,7 +143,7 @@ class CollectFusionRender( end = render_instance.frameEnd + render_instance.handleEnd path = ( - render_instance.toolSaver["Clip"] + render_instance.tool["Clip"] [render_instance.workfileComp.TIME_UNDEFINED] ) output_dir = os.path.dirname(path) @@ -163,7 +165,11 @@ class CollectFusionRender( return expected_files def _update_for_frames(self, instance): - """Update old saved instances to current publishing format""" + """Updating instance for render.frames family + + Adding representation data to the instance. Also setting + colorspaceData to the representation based on file rules. + """ expected_files = instance.data["expectedFiles"] diff --git a/openpype/hosts/fusion/plugins/publish/extract_render_local.py b/openpype/hosts/fusion/plugins/publish/extract_render_local.py index c2e38884c7..f093f7793f 100644 --- a/openpype/hosts/fusion/plugins/publish/extract_render_local.py +++ b/openpype/hosts/fusion/plugins/publish/extract_render_local.py @@ -79,7 +79,7 @@ class FusionRenderLocal( savers_to_render = [ # Get the saver tool from the instance - instance.data["toolSaver"] for instance in context if + instance.data["tool"] for instance in context if # Only active instances instance.data.get("publish", True) and # Only render.local instances diff --git a/openpype/hosts/fusion/plugins/publish/validate_create_folder_checked.py b/openpype/hosts/fusion/plugins/publish/validate_create_folder_checked.py index 82d34b0b5d..35c92163eb 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_create_folder_checked.py +++ b/openpype/hosts/fusion/plugins/publish/validate_create_folder_checked.py @@ -21,7 +21,7 @@ class ValidateCreateFolderChecked(pyblish.api.InstancePlugin): @classmethod def get_invalid(cls, instance): - tool = instance.data["toolSaver"] + tool = instance.data["tool"] create_dir = tool.GetInput("CreateDir") if create_dir == 0.0: cls.log.error( diff --git a/openpype/hosts/fusion/plugins/publish/validate_expected_frames_existence.py b/openpype/hosts/fusion/plugins/publish/validate_expected_frames_existence.py index aa89799867..3f84f59678 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_expected_frames_existence.py +++ b/openpype/hosts/fusion/plugins/publish/validate_expected_frames_existence.py @@ -23,7 +23,7 @@ class ValidateLocalFramesExistence(pyblish.api.InstancePlugin): if non_existing_frames is None: non_existing_frames = [] - tool = instance.data["toolSaver"] + tool = instance.data["tool"] expected_files = instance.data["expectedFiles"] @@ -56,7 +56,7 @@ class ValidateLocalFramesExistence(pyblish.api.InstancePlugin): def repair(cls, instance): invalid = cls.get_invalid(instance) if invalid: - tool = instance.data["toolSaver"] + tool = instance.data["tool"] # Change render target to local to render locally tool.SetData("openpype.creator_attributes.render_target", "local") diff --git a/openpype/hosts/fusion/plugins/publish/validate_filename_has_extension.py b/openpype/hosts/fusion/plugins/publish/validate_filename_has_extension.py index 1bf603e5b1..537e43c875 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_filename_has_extension.py +++ b/openpype/hosts/fusion/plugins/publish/validate_filename_has_extension.py @@ -34,7 +34,7 @@ class ValidateFilenameHasExtension(pyblish.api.InstancePlugin): fname, ext = os.path.splitext(path) if not ext: - tool = instance.data["toolSaver"] + tool = instance.data["tool"] cls.log.error("%s has no extension specified" % tool.Name) return [tool] diff --git a/openpype/hosts/fusion/plugins/publish/validate_saver_has_input.py b/openpype/hosts/fusion/plugins/publish/validate_saver_has_input.py index b409608ec3..faf2102a8b 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_saver_has_input.py +++ b/openpype/hosts/fusion/plugins/publish/validate_saver_has_input.py @@ -20,7 +20,7 @@ class ValidateSaverHasInput(pyblish.api.InstancePlugin): @classmethod def get_invalid(cls, instance): - saver = instance.data["toolSaver"] + saver = instance.data["tool"] if not saver.Input.GetConnectedOutput(): return [saver] diff --git a/openpype/hosts/fusion/plugins/publish/validate_saver_passthrough.py b/openpype/hosts/fusion/plugins/publish/validate_saver_passthrough.py index 677861a654..9004976dc5 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_saver_passthrough.py +++ b/openpype/hosts/fusion/plugins/publish/validate_saver_passthrough.py @@ -37,7 +37,7 @@ class ValidateSaverPassthrough(pyblish.api.ContextPlugin): def is_invalid(self, instance): - saver = instance.data["toolSaver"] + saver = instance.data["tool"] attr = saver.GetAttrs() active = not attr["TOOLB_PassThrough"] diff --git a/openpype/hosts/fusion/plugins/publish/validate_unique_subsets.py b/openpype/hosts/fusion/plugins/publish/validate_unique_subsets.py index 6a65182fae..5b6ceb2fdb 100644 --- a/openpype/hosts/fusion/plugins/publish/validate_unique_subsets.py +++ b/openpype/hosts/fusion/plugins/publish/validate_unique_subsets.py @@ -43,7 +43,7 @@ class ValidateUniqueSubsets(pyblish.api.ContextPlugin): invalid.extend(instances) # Return tools for the invalid instances so they can be selected - invalid = [instance.data["toolSaver"] for instance in invalid] + invalid = [instance.data["tool"] for instance in invalid] return invalid