From e6192095d4b47b41797a72402598d178cf1ff9ad Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 17 Jun 2024 17:32:08 +0200 Subject: [PATCH 1/7] AY-5750 - put order after collect_review This plugin depends on review in families logic which got put there only after this plugin (because of previous move order to accommodate deadline collection data). This plugin must run after collect_review BUT before collect DL credentials! --- .../plugins/publish/collect_render.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py index 3508512cba..9615154185 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py @@ -23,8 +23,16 @@ class AERenderInstance(RenderInstance): class CollectAERender(publish.AbstractCollectRender): + """Prepares RenderInstance. - order = pyblish.api.CollectorOrder + 0.100 + RenderInstance is meant to replace simple dictionaries to provide code + assist and typing. (Currently used only in AE, Harmony though.) + + This must run after `collect_review`, but before Deadline plugins (which + should be run only on renderable instances.) + """ + + order = pyblish.api.CollectorOrder + 0.125 label = "Collect After Effects Render Layers" hosts = ["aftereffects"] From fa747699c21018ed021d7930ad98ef46cec7febb Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 17 Jun 2024 17:32:38 +0200 Subject: [PATCH 2/7] AY-5750 - fix superfluous space --- .../client/ayon_aftereffects/plugins/create/create_render.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py index eafe845247..8e44b51a1c 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py @@ -94,7 +94,7 @@ class RenderCreator(Creator): new_instance.creator_attributes["farm"] = use_farm review = pre_create_data["mark_for_review"] - new_instance. creator_attributes["mark_for_review"] = review + new_instance.creator_attributes["mark_for_review"] = review api.get_stub().imprint(new_instance.id, new_instance.data_to_store()) From f7e9e413fbd69fdc83b34b26d4fded69abcec2fe Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 17 Jun 2024 18:22:18 +0200 Subject: [PATCH 3/7] AY-5750 - fix single frame render Without it will render frame 0 which might result in black image instead of correct frame (1001). --- .../plugins/publish/submit_aftereffects_deadline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py b/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py index 9ca077d162..c61e6cd35b 100644 --- a/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py +++ b/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py @@ -57,7 +57,7 @@ class AfterEffectsSubmitDeadline( dln_job_info.Plugin = "AfterEffects" dln_job_info.UserName = context.data.get( "deadlineUser", getpass.getuser()) - if self._instance.data["frameEnd"] > self._instance.data["frameStart"]: + if self._instance.data["frameEnd"] >= self._instance.data["frameStart"]: # noqa # Deadline requires integers in frame range frame_range = "{}-{}".format( int(round(self._instance.data["frameStart"])), From 50f39e4f5e4f006c046d8b7176c2313a7c5c45c7 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 17 Jun 2024 18:24:48 +0200 Subject: [PATCH 4/7] AY-5750 - removed folderPath from expected_files Folder path messed up os.path.join, resulting in wrong file path pointing to c:/file_name.png. Folder path is actually not needed here, it is already included in base_dir. --- .../plugins/publish/collect_render.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py index 9615154185..e0cf1b10d6 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py @@ -181,24 +181,25 @@ class CollectAERender(publish.AbstractCollectRender): _, ext = os.path.splitext(os.path.basename(file_name)) ext = ext.replace('.', '') version_str = "v{:03d}".format(render_instance.version) - if "#" not in file_name: # single frame (mov)W - path = os.path.join(base_dir, "{}_{}_{}.{}".format( - render_instance.folderPath, + if "#" not in file_name: # single frame (mov) + file_name = "{}_{}.{}".format( render_instance.productName, version_str, ext - )) - expected_files.append(path) + ) + file_path = os.path.join(base_dir, file_name) + expected_files.append(file_path) else: for frame in range(start, end + 1): - path = os.path.join(base_dir, "{}_{}_{}.{}.{}".format( - render_instance.folderPath, + file_name = "{}_{}.{}.{}".format( render_instance.productName, version_str, str(frame).zfill(self.padding_width), ext - )) - expected_files.append(path) + ) + + file_path = os.path.join(base_dir, file_name) + expected_files.append(file_path) return expected_files def _get_output_dir(self, render_instance): From b62d40ffd9da18a66873c78b2fd1280c15eed365 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 18 Jun 2024 11:11:48 +0200 Subject: [PATCH 5/7] AY-5750 - fix wrong looping --- .../ayon_aftereffects/plugins/publish/collect_render.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py index e0cf1b10d6..e550e73709 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py @@ -198,8 +198,8 @@ class CollectAERender(publish.AbstractCollectRender): ext ) - file_path = os.path.join(base_dir, file_name) - expected_files.append(file_path) + file_path = os.path.join(base_dir, file_name) + expected_files.append(file_path) return expected_files def _get_output_dir(self, render_instance): From 5872d2b3ee786eaabfbd0d66c1d66860b18e713a Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 18 Jun 2024 11:14:47 +0200 Subject: [PATCH 6/7] AY-5750 - remove unnecessary condition --- .../plugins/publish/submit_aftereffects_deadline.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py b/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py index c61e6cd35b..a7be38bf3b 100644 --- a/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py +++ b/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py @@ -57,12 +57,11 @@ class AfterEffectsSubmitDeadline( dln_job_info.Plugin = "AfterEffects" dln_job_info.UserName = context.data.get( "deadlineUser", getpass.getuser()) - if self._instance.data["frameEnd"] >= self._instance.data["frameStart"]: # noqa - # Deadline requires integers in frame range - frame_range = "{}-{}".format( - int(round(self._instance.data["frameStart"])), - int(round(self._instance.data["frameEnd"]))) - dln_job_info.Frames = frame_range + # Deadline requires integers in frame range + frame_range = "{}-{}".format( + int(round(self._instance.data["frameStart"])), + int(round(self._instance.data["frameEnd"]))) + dln_job_info.Frames = frame_range dln_job_info.Priority = self.priority dln_job_info.Pool = self._instance.data.get("primaryPool") From 0fab2e5edbdf29b1856468ea31c5b8c779a2caff Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 18 Jun 2024 13:44:07 +0200 Subject: [PATCH 7/7] bump versions --- server_addon/aftereffects/client/ayon_aftereffects/version.py | 2 +- server_addon/aftereffects/package.py | 2 +- server_addon/deadline/client/ayon_deadline/version.py | 2 +- server_addon/deadline/package.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/version.py b/server_addon/aftereffects/client/ayon_aftereffects/version.py index 2faa06ba3a..4e371a2467 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/version.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON addon 'aftereffects' version.""" -__version__ = "0.2.1" +__version__ = "0.2.2" diff --git a/server_addon/aftereffects/package.py b/server_addon/aftereffects/package.py index 37a54b4212..eabba27df1 100644 --- a/server_addon/aftereffects/package.py +++ b/server_addon/aftereffects/package.py @@ -1,6 +1,6 @@ name = "aftereffects" title = "AfterEffects" -version = "0.2.1" +version = "0.2.2" client_dir = "ayon_aftereffects" diff --git a/server_addon/deadline/client/ayon_deadline/version.py b/server_addon/deadline/client/ayon_deadline/version.py index 5baf5122fb..da619d2a42 100644 --- a/server_addon/deadline/client/ayon_deadline/version.py +++ b/server_addon/deadline/client/ayon_deadline/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON addon 'deadline' version.""" -__version__ = "0.2.0" +__version__ = "0.2.1" diff --git a/server_addon/deadline/package.py b/server_addon/deadline/package.py index 7e7bae8bd6..5696c60dc6 100644 --- a/server_addon/deadline/package.py +++ b/server_addon/deadline/package.py @@ -1,6 +1,6 @@ name = "deadline" title = "Deadline" -version = "0.2.0" +version = "0.2.1" client_dir = "ayon_deadline"