From 10bf3a33e1c90104b5f9cfe709b46607a5c98807 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 8 Jun 2022 11:45:12 +0200 Subject: [PATCH 1/6] Nuke: no need to add Nuke host to filter It is actually adding review even not needed --- openpype/settings/defaults/project_settings/deadline.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/openpype/settings/defaults/project_settings/deadline.json b/openpype/settings/defaults/project_settings/deadline.json index 5c5a14bf210..a6e7b4a94a5 100644 --- a/openpype/settings/defaults/project_settings/deadline.json +++ b/openpype/settings/defaults/project_settings/deadline.json @@ -83,9 +83,6 @@ "maya": [ ".*([Bb]eauty).*" ], - "nuke": [ - ".*" - ], "aftereffects": [ ".*" ], From 248e38b52d1bfbd14226fbe79a12d4f2f5a8a016 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 8 Jun 2022 17:22:30 +0200 Subject: [PATCH 2/6] Deadline: adding condition for `review` instance data key to be able to pass review to metadata json from nuke --- .../deadline/plugins/publish/submit_publish_job.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index 78ab935e428..1891731c93b 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -640,6 +640,10 @@ def _get_representations(self, instance, exp_files): def _solve_families(self, instance, preview=False): families = instance.get("families") + + # test also instance data review attribute + preview = preview or instance.get("review") + # if we have one representation with preview tag # flag whole instance for review and for ftrack if preview: @@ -749,6 +753,10 @@ def process(self, instance): "family": "prerender", "families": []}) + # also include review attribute if available + if "review" in data: + instance_skeleton_data["review"] = data["review"] + # skip locking version if we are creating v01 instance_version = instance.data.get("version") # take this if exists if instance_version != 1: From 6758bcc2a2aec0139ed2a448daba3c08ea60a584 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 8 Jun 2022 17:22:55 +0200 Subject: [PATCH 3/6] Nuke: wrong name in docstring --- openpype/hosts/nuke/plugins/publish/extract_render_local.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/nuke/plugins/publish/extract_render_local.py b/openpype/hosts/nuke/plugins/publish/extract_render_local.py index 50a5d014831..057bca11ac1 100644 --- a/openpype/hosts/nuke/plugins/publish/extract_render_local.py +++ b/openpype/hosts/nuke/plugins/publish/extract_render_local.py @@ -7,7 +7,7 @@ class NukeRenderLocal(openpype.api.Extractor): # TODO: rewrite docstring to nuke - """Render the current Fusion composition locally. + """Render the current Nuke composition locally. Extract the result of savers by starting a comp render This will run the local render of Fusion. From fae33600f60555edab8d6187e4754eb946b1e8f4 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 14 Jun 2022 11:14:06 +0200 Subject: [PATCH 4/6] Nuke: adding empty representations to every instance also clearing obsolete code --- .../plugins/publish/precollect_instances.py | 8 ++---- .../plugins/publish/precollect_workfile.py | 28 +++++++------------ 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/openpype/hosts/nuke/plugins/publish/precollect_instances.py b/openpype/hosts/nuke/plugins/publish/precollect_instances.py index 1a8fa3e6ad9..8bf7280ceaa 100644 --- a/openpype/hosts/nuke/plugins/publish/precollect_instances.py +++ b/openpype/hosts/nuke/plugins/publish/precollect_instances.py @@ -151,15 +151,11 @@ def process(self, context): "resolutionWidth": resolution_width, "resolutionHeight": resolution_height, "pixelAspect": pixel_aspect, - "review": review + "review": review, + "representations": [] }) self.log.info("collected instance: {}".format(instance.data)) instances.append(instance) - # create instances in context data if not are created yet - if not context.data.get("instances"): - context.data["instances"] = list() - - context.data["instances"].extend(instances) self.log.debug("context: {}".format(context)) diff --git a/openpype/hosts/nuke/plugins/publish/precollect_workfile.py b/openpype/hosts/nuke/plugins/publish/precollect_workfile.py index a2d1c80628f..7349a8f4245 100644 --- a/openpype/hosts/nuke/plugins/publish/precollect_workfile.py +++ b/openpype/hosts/nuke/plugins/publish/precollect_workfile.py @@ -17,7 +17,7 @@ class CollectWorkfile(pyblish.api.ContextPlugin): label = "Pre-collect Workfile" hosts = ['nuke'] - def process(self, context): + def process(self, context): # sourcery skip: avoid-builtin-shadow root = nuke.root() current_file = os.path.normpath(nuke.root().name()) @@ -74,6 +74,14 @@ def process(self, context): } context.data.update(script_data) + # creating representation + representation = { + 'name': 'nk', + 'ext': 'nk', + 'files': base_name, + "stagingDir": staging_dir, + } + # creating instance data instance.data.update({ "subset": subset, @@ -82,26 +90,10 @@ def process(self, context): "publish": root.knob('publish').value(), "family": family, "families": [family], - "representations": list() + "representations": [representation] }) # adding basic script data instance.data.update(script_data) - # creating representation - representation = { - 'name': 'nk', - 'ext': 'nk', - 'files': base_name, - "stagingDir": staging_dir, - } - - instance.data["representations"].append(representation) - self.log.info('Publishing script version') - - # create instances in context data if not are created yet - if not context.data.get("instances"): - context.data["instances"] = list() - - context.data["instances"].append(instance) From 3977c25a804671e04d6c688346e1be5a485187e9 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 15 Jun 2022 14:31:36 +0200 Subject: [PATCH 5/6] Nuke: improving logic for `useSequenceForReview` argument --- openpype/hosts/nuke/plugins/publish/precollect_writes.py | 5 +++++ .../modules/deadline/plugins/publish/submit_publish_job.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/nuke/plugins/publish/precollect_writes.py b/openpype/hosts/nuke/plugins/publish/precollect_writes.py index 8669f4f485f..a0b4b77a2d9 100644 --- a/openpype/hosts/nuke/plugins/publish/precollect_writes.py +++ b/openpype/hosts/nuke/plugins/publish/precollect_writes.py @@ -175,6 +175,11 @@ def process(self, instance): "frameEndHandle": last_frame, }) + # make sure rendered sequence on farm will + # be used for exctract review + if instance.data["review"]: + instance.data["useSequenceForReview"] = True + # * Add audio to instance if exists. # Find latest versions document version_doc = pype.get_latest_version( diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index 0583c25b57b..3c036510b38 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -746,7 +746,7 @@ def process(self, instance): "resolutionHeight": data.get("resolutionHeight", 1080), "multipartExr": data.get("multipartExr", False), "jobBatchName": data.get("jobBatchName", ""), - "useSequenceForReview": data.get("useSequenceForReview", True) + "useSequenceForReview": data.get("useSequenceForReview") } if "prerender" in instance.data["families"]: From a7f2587483ed5ea31090f1658937cb3904043fb6 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 15 Jun 2022 14:45:57 +0200 Subject: [PATCH 6/6] Nuke: reversing logic so it will not break other hosts --- openpype/hosts/nuke/plugins/publish/precollect_writes.py | 4 ++-- .../modules/deadline/plugins/publish/submit_publish_job.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/nuke/plugins/publish/precollect_writes.py b/openpype/hosts/nuke/plugins/publish/precollect_writes.py index a0b4b77a2d9..e050fc8c52c 100644 --- a/openpype/hosts/nuke/plugins/publish/precollect_writes.py +++ b/openpype/hosts/nuke/plugins/publish/precollect_writes.py @@ -177,8 +177,8 @@ def process(self, instance): # make sure rendered sequence on farm will # be used for exctract review - if instance.data["review"]: - instance.data["useSequenceForReview"] = True + if not instance.data["review"]: + instance.data["useSequenceForReview"] = False # * Add audio to instance if exists. # Find latest versions document diff --git a/openpype/modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/deadline/plugins/publish/submit_publish_job.py index 3c036510b38..0583c25b57b 100644 --- a/openpype/modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/deadline/plugins/publish/submit_publish_job.py @@ -746,7 +746,7 @@ def process(self, instance): "resolutionHeight": data.get("resolutionHeight", 1080), "multipartExr": data.get("multipartExr", False), "jobBatchName": data.get("jobBatchName", ""), - "useSequenceForReview": data.get("useSequenceForReview") + "useSequenceForReview": data.get("useSequenceForReview", True) } if "prerender" in instance.data["families"]: