From 346c824f720a35decb2237f0b6d489597f3b091e Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 15 May 2019 10:43:12 +0200 Subject: [PATCH] feat(nuke): fixing handles for publishing writes --- pype/plugins/nuke/publish/collect_instances.py | 5 ++++- pype/plugins/nuke/publish/collect_writes.py | 3 +++ pype/plugins/nuke/publish/validate_script.py | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pype/plugins/nuke/publish/collect_instances.py b/pype/plugins/nuke/publish/collect_instances.py index 8a2bb06fff..e9db556a9f 100644 --- a/pype/plugins/nuke/publish/collect_instances.py +++ b/pype/plugins/nuke/publish/collect_instances.py @@ -17,6 +17,10 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): def process(self, context): asset_data = io.find_one({"type": "asset", "name": api.Session["AVALON_ASSET"]}) + + # add handles into context + context.data['handles'] = int(asset_data["data"].get("handles", 0)) + self.log.debug("asset_data: {}".format(asset_data["data"])) instances = [] # creating instances per write node @@ -51,7 +55,6 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): "family": avalon_knob_data["family"], "avalonKnob": avalon_knob_data, "publish": node.knob('publish').value(), - "handles": int(asset_data["data"].get("handles", 0)), "step": 1, "fps": int(nuke.root()['fps'].value()) diff --git a/pype/plugins/nuke/publish/collect_writes.py b/pype/plugins/nuke/publish/collect_writes.py index ce37774ac9..68cd227280 100644 --- a/pype/plugins/nuke/publish/collect_writes.py +++ b/pype/plugins/nuke/publish/collect_writes.py @@ -35,10 +35,12 @@ class CollectNukeWrites(pyblish.api.ContextPlugin): output_type = "mov" # Get frame range + handles = instance.context.data.get('handles', 0) first_frame = int(nuke.root()["first_frame"].getValue()) last_frame = int(nuke.root()["last_frame"].getValue()) if node["use_limit"].getValue(): + handles = 0 first_frame = int(node["first"].getValue()) last_frame = int(node["last"].getValue()) @@ -76,6 +78,7 @@ class CollectNukeWrites(pyblish.api.ContextPlugin): "outputDir": output_dir, "ext": ext, "label": label, + "handles": handles, "startFrame": first_frame, "endFrame": last_frame, "outputType": output_type, diff --git a/pype/plugins/nuke/publish/validate_script.py b/pype/plugins/nuke/publish/validate_script.py index ad4a83b32f..08c91dab31 100644 --- a/pype/plugins/nuke/publish/validate_script.py +++ b/pype/plugins/nuke/publish/validate_script.py @@ -28,7 +28,7 @@ class ValidateScript(pyblish.api.InstancePlugin): ] # Value of these attributes can be found on parents - hierarchical_attributes = ["fps", "resolution_width", "resolution_height", "pixel_aspect"] + hierarchical_attributes = ["fps", "resolution_width", "resolution_height", "pixel_aspect", "handles"] missing_attributes = [] asset_attributes = {}