Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 1.15 KB

07-branching-ii.md

File metadata and controls

39 lines (27 loc) · 1.15 KB

Branching II

Let's look at a more interesting branching technique.

import pyblish.api

items = ["john", "door"]

class CollectInstances(pyblish.api.ContextPlugin):
  order = 0

  def process(self, context):
    for item in items:
      context.create_instance(item)

class PrintInstances(pyblish.api.InstancePlugin):
  order = 1

  def process(self, instance):
    print("Instance is: %s" % instance)

pyblish.api.register_plugin(CollectInstances)
pyblish.api.register_plugin(PrintInstances)

import pyblish.util
pyblish.util.publish()
# The instance is "john"
# The instance is "door"

In this case, PrintInstances will run once for every instance. That's because we subclassed InstancePlugin instead of ContextPlugin.

These two superclasses form the foundation upon which all of Pyblish is built, we'll have a much closer look these at in the following examples.