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()) 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..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 @@ -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"] @@ -173,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): 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/plugins/publish/submit_aftereffects_deadline.py b/server_addon/deadline/client/ayon_deadline/plugins/publish/submit_aftereffects_deadline.py index 9ca077d162..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"]: - # 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")