From d439c3605d5aa3e648f21980f1a3fdf911813cc5 Mon Sep 17 00:00:00 2001 From: aardschok Date: Wed, 9 Aug 2017 16:51:53 +0200 Subject: [PATCH] changed get_id_required_nodes --- colorbleed/maya/__init__.py | 4 ++-- colorbleed/maya/lib.py | 9 ++++----- colorbleed/plugins/maya/publish/validate_node_ids.py | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/colorbleed/maya/__init__.py b/colorbleed/maya/__init__.py index 94288646a0..2ca8040158 100644 --- a/colorbleed/maya/__init__.py +++ b/colorbleed/maya/__init__.py @@ -97,8 +97,8 @@ def on_save(_): avalon.logger.info("Running callback on save..") - nodes = lib.get_id_required_nodes(defaults=True, - referenced_nodes=True) + nodes = lib.get_id_required_nodes(defaults=False, + referenced_nodes=False) # Lead with asset ID from the database asset = os.environ["AVALON_ASSET"] diff --git a/colorbleed/maya/lib.py b/colorbleed/maya/lib.py index 29160a339c..fbbd444b1a 100644 --- a/colorbleed/maya/lib.py +++ b/colorbleed/maya/lib.py @@ -613,27 +613,26 @@ def remap_resource_nodes(resources, folder=None): cmds.file(save=True, type="mayaAscii") -def get_id_required_nodes(defaults=True, referenced_nodes=True): +def get_id_required_nodes(defaults=False, referenced_nodes=False): """Filter out any node which are locked (reference) or readOnly Args: nodes (set): nodes to filter - defaults (bool): set True to filter out default nodes + defaults (bool): set to False to filter out default nodes referenced_nodes (bool): set True to filter out reference nodes Returns: nodes (set): list of filtered nodes """ - # `readOnly` flag is obsolete as of Maya 2016 therefor we explicitly remove # default nodes and reference nodes camera_shapes = ["frontShape", "sideShape", "topShape", "perspShape"] ignore = set() - if referenced_nodes: + if not referenced_nodes: ignore |= set(cmds.ls(long=True, referencedNodes=referenced_nodes)) - if defaults: + if not defaults: ignore |= set(cmds.ls(long=True, defaultNodes=defaults)) ignore |= set(cmds.ls(camera_shapes, long=True)) diff --git a/colorbleed/plugins/maya/publish/validate_node_ids.py b/colorbleed/plugins/maya/publish/validate_node_ids.py index a5d8ce2d83..6df5bea4e1 100644 --- a/colorbleed/plugins/maya/publish/validate_node_ids.py +++ b/colorbleed/plugins/maya/publish/validate_node_ids.py @@ -36,8 +36,8 @@ class ValidateNodeIDs(pyblish.api.InstancePlugin): # We do want to check the referenced nodes as it might be # part of the end product - id_nodes = lib.get_id_required_nodes(defaults=True, - referenced_nodes=False) + id_nodes = lib.get_id_required_nodes(defaults=False, + referenced_nodes=True) nodes = instance[:] invalid = [n for n in nodes if n in id_nodes and not lib.get_id(n)]