Problem
I’m using Pyblish 1.31 and somehow my Collectors weren’t processing correctly when they required to run on an instance. It didn’t matter whether they operated on a family or not.
For example:
import pyblish.api
@pyblish.api.log
class CollectNotRunning(pyblish.api.InstancePlugin):
order = pyblish.api.CollectorOrder
def process(self, instance):
return
This shows up in the GUI but upon validating or publish it stays white and doesn’t get run. It seems that anything processing an instance (an InstancePlugin
) before Validators is ignored.
For example, this actually runs:
import pyblish.api
@pyblish.api.log
class CollectNotRunning(pyblish.api.InstancePlugin):
order = pyblish.api.ValidatorOrder - 0.499
def process(self, instance):
return
But it shows up under the Validators and doesn’t get run during collection.
Expected
I would expect to be able to do:
import pyblish.api
@pyblish.api.log
class CollectNotRunning(pyblish.api.InstancePlugin):
order = pyblish.api.CollectorOrder + 0.1
families = ['rig']
def process(self, instance):
return
Where this one gets run on instances of the rig
family during the Collection. So only gets run when the family is present. Even with an instance of rig
present this is still not running.