changed get_id_required_nodes

This commit is contained in:
aardschok 2017-08-09 16:51:53 +02:00
parent fea1560978
commit d439c3605d
3 changed files with 8 additions and 9 deletions

View file

@ -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"]

View file

@ -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))

View file

@ -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)]