From 0758954617a55a77ba41a38524f6cdc03916d14a Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 9 Feb 2015 07:46:47 +0100 Subject: [PATCH] Added validate_keys_none validator --- .../characters/evilChar/maya/dummy.txt | 0 .../pyblish/plugins/validate_keys_none.py | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+) delete mode 100644 examples/foobar/dev/modeling/characters/evilChar/maya/dummy.txt create mode 100644 examples/foobar/pyblish/plugins/validate_keys_none.py diff --git a/examples/foobar/dev/modeling/characters/evilChar/maya/dummy.txt b/examples/foobar/dev/modeling/characters/evilChar/maya/dummy.txt deleted file mode 100644 index e69de29..0000000 diff --git a/examples/foobar/pyblish/plugins/validate_keys_none.py b/examples/foobar/pyblish/plugins/validate_keys_none.py new file mode 100644 index 0000000..cb36676 --- /dev/null +++ b/examples/foobar/pyblish/plugins/validate_keys_none.py @@ -0,0 +1,29 @@ +import pyblish.api +from maya import cmds + + +class ValidateKeysNone(pyblish.api.Validator): + """ Validates that none of the nodes in the instance have any keys """ + families = ['model', 'layout'] + hosts = ['maya'] + category = 'cleanup' + optional = True + version = (0, 1, 0) + + def process_instance(self, instance): + """Process all the nodes in the instance """ + + # quick check + any_keys = cmds.keyframe(instance, q=1, selected=False) + if not any_keys: + return + + # find each individual node with keys + invalid = [] + for node in instance: + keys = cmds.keyframe(node, q=1, selected=False) + if keys: + invalid.append(node) + + if invalid: + raise ValueError("Nodes with keys found: {0}".format(invalid)) \ No newline at end of file