Report I
Publishing is about finding problems and the only way to find them is by bringing them to the surface, to visualise them. So in this example, we'll have a look at how you can do just that.
We can use the results produced during publishing to pretty-print ourselves a report of how things went. This is what we will be producing in this example.
Success Plug-in -> Instance
----------------------------------------------------------------------
1 CollectCaptainAmerica -> None
0 ValidateCaptainAmerica -> Captain AmericaLet's dive into the plug-ins now.
import pyblish.api
class CollectCaptainAmerica(pyblish.api.ContextPlugin):
order = pyblish.api.CollectorOrder
def process(self, context):
context.create_instance("Captain America", isHero=False)
class ValidateCaptainAmerica(pyblish.api.InstancePlugin):
order = pyblish.api.ValidatorOrder
def process(self, instance):
# Any raised exception will mark a plug-in as failed
assert instance.data.get("isHero") == True, "%s must be a hero" % instance
pyblish.api.register_plugin(CollectCaptainAmerica)
pyblish.api.register_plugin(ValidateCaptainAmerica)
import pyblish.util
context = pyblish.util.publish()With context at hand, we can now format the results using the results dictionary stored within.
The actual output is this.
The plug-ins CollectCurrentWorkingDirectory and CollectCurrentUser are included by default with Pyblish and adds the following data to the context.
Last updated
Was this helpful?