From 9a2e0117cb569e41247f0feb04e507e4e2e23e84 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 2 Aug 2019 18:48:33 +0200 Subject: [PATCH] fix(nuke): was not collecting properly write nodes inside groups --- pype/plugins/nuke/publish/collect_instances.py | 13 ++++++++----- pype/plugins/nuke/publish/validate_write_nodes.py | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pype/plugins/nuke/publish/collect_instances.py b/pype/plugins/nuke/publish/collect_instances.py index 8d770ef0b5..baee7a1769 100644 --- a/pype/plugins/nuke/publish/collect_instances.py +++ b/pype/plugins/nuke/publish/collect_instances.py @@ -3,7 +3,7 @@ import os import nuke import pyblish.api from avalon import io, api -from avalon.nuke.lib import get_avalon_knob_data +from avalon.nuke import get_avalon_knob_data @pyblish.api.log @@ -18,23 +18,26 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): asset_data = io.find_one({"type": "asset", "name": api.Session["AVALON_ASSET"]}) - # add handles into context - context.data['handles'] = context.data['handles'] self.log.debug("asset_data: {}".format(asset_data["data"])) instances = [] # creating instances per write node - for node in nuke.allNodes(): + self.log.debug("nuke.allNodes(): {}".format(nuke.allNodes())) + for node in nuke.allNodes(): try: if node["disable"].value(): continue - except Exception: + except Exception as E: + self.log.warning(E) continue # get data from avalon knob + self.log.debug("node[name]: {}".format(node['name'].value())) avalon_knob_data = get_avalon_knob_data(node) + self.log.debug("avalon_knob_data: {}".format(avalon_knob_data)) + if not avalon_knob_data: continue diff --git a/pype/plugins/nuke/publish/validate_write_nodes.py b/pype/plugins/nuke/publish/validate_write_nodes.py index 105c133ebe..564c912a7a 100644 --- a/pype/plugins/nuke/publish/validate_write_nodes.py +++ b/pype/plugins/nuke/publish/validate_write_nodes.py @@ -14,7 +14,7 @@ class RepairNukeWriteNodeAction(pyblish.api.Action): instances = pype.utils.filter_instances(context, plugin) for instance in instances: - node = instance[0] + node = instance[1] correct_data = nukelib.get_write_node_template_attr(node) for k, v in correct_data.items(): node[k].setValue(v) @@ -33,7 +33,7 @@ class ValidateNukeWriteNode(pyblish.api.InstancePlugin): def process(self, instance): - node = instance[0] + node = instance[1] correct_data = nukelib.get_write_node_template_attr(node) check = []