From 91d935c948c18ddf85dbfa54db924907b0067fcb Mon Sep 17 00:00:00 2001 From: Toke Stuart Jepsen Date: Wed, 14 Dec 2022 08:59:26 +0000 Subject: [PATCH] Validate xgen --- .../maya/plugins/publish/validate_xgen.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 openpype/hosts/maya/plugins/publish/validate_xgen.py diff --git a/openpype/hosts/maya/plugins/publish/validate_xgen.py b/openpype/hosts/maya/plugins/publish/validate_xgen.py new file mode 100644 index 0000000000..7ccd02bb07 --- /dev/null +++ b/openpype/hosts/maya/plugins/publish/validate_xgen.py @@ -0,0 +1,28 @@ +import maya.cmds as cmds + +import pyblish.api + + +class ValidateXgen(pyblish.api.InstancePlugin): + """Ensure Xgen objectset only contains collections.""" + + label = "Xgen" + order = pyblish.api.ValidatorOrder + host = ["maya"] + families = ["xgen"] + + def process(self, instance): + nodes = ( + cmds.ls(instance, type="xgmPalette", long=True) + + cmds.ls(instance, type="transform", long=True) + + cmds.ls(instance, type="xgmDescription", long=True) + + cmds.ls(instance, type="xgmSubdPatch", long=True) + ) + remainder_nodes = [] + for node in instance: + if node in nodes: + continue + remainder_nodes.append(node) + + msg = "Invalid nodes in the objectset:\n{}".format(remainder_nodes) + assert not remainder_nodes, msg