I am starting to work with pyblish. I have two Validators, ValidateNamingConvention and ValidateUniqueNames.
I have an Action, SelectInvalidNodes that selects the problematic nodes in maya, as shown in the documentation with a little twist.
class SelectInvalidNodes(pyblish.api.Action): label = "Select invalid nodes" on = "failed" icon = "hand-o-up" def process(self, context, plugin): import pymel.core as pm self.log.info("Finding bad nodes..") nodes =  for result in context.data["results"]: if result["error"]: instance = result["instance"] nodes.extend(instance.data['invalidNodes']) pm.select(nodes)
In the validators, I set the invalid nodes as
instance.data['invalidNodes'] = invalid.
The problem is, it is not plugin dependent, so when I select the Action on one of the failed Validators, the invalid nodes from the plugin that was run last get selected (not the one I clicked), because it overwrites the
I can overcome this error, if I set them in the data, by some unique, plugin dependent name, but it doesn’t seem right.
What is the best way to do it?