Validating I

Sometimes, sharing means to first agree on a format in which to share, such that you don't end up with one big mess.

import pyblish.api
items = ["JOHN.person", "door.prop"]
class CollectInstances(pyblish.api.ContextPlugin):
order = 0
def process(self, context):
for item in items:
name, suffix = item.split(".")
context.create_instance(name, family=suffix)
class ValidateNamingConvention(pyblish.api.InstancePlugin):
order = 1
def process(self, instance):
name =["name"]
assert name == name.title(), "Sorry, %s should have been %s" % (
name, name.title())
import pyblish.util
# Sorry, JOHN should have been John
# Sorry, door should have been Door
Stopped due to: failed validation

We indicate failure by throwing exceptions of any kind, including assertions. Making the change, we now "pass validation".

items = ["John.person", "Door.prop"]
# John is valid
# Door is valid