mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 08:54:53 +01:00
implemented basic collector
This commit is contained in:
parent
6bdace7a21
commit
1704499093
1 changed files with 38 additions and 0 deletions
38
pype/plugins/tvpaint/publish/collect_instances.py
Normal file
38
pype/plugins/tvpaint/publish/collect_instances.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
import json
|
||||
|
||||
import pyblish.api
|
||||
import avalon.io
|
||||
from avalon.tvpaint import pipeline
|
||||
|
||||
|
||||
class CollectInstances(pyblish.api.ContextPlugin):
|
||||
label = "Collect Instances"
|
||||
order = pyblish.api.CollectorOrder
|
||||
hosts = ["tvpaint"]
|
||||
|
||||
def process(self, context):
|
||||
self.log.info("Collecting instance data from workfile")
|
||||
instances_data = pipeline.list_instances()
|
||||
self.log.debug("Collected ({}) instances: {}".format(
|
||||
len(instances_data), instances_data
|
||||
))
|
||||
|
||||
# TODO add validations of existing instances
|
||||
# - layer id exists
|
||||
for instance_data in instances_data:
|
||||
asset_name = instance_data["asset"]
|
||||
subset_name = instance_data["subset"]
|
||||
family = instance_data["family"]
|
||||
name = instance_data.get("name", subset_name)
|
||||
active = instance_data.get("active", True)
|
||||
|
||||
instance = context.create_instance(
|
||||
name=name,
|
||||
family=family,
|
||||
families=[family],
|
||||
subset=subset_name,
|
||||
asset=asset_name,
|
||||
active=active,
|
||||
publish=active,
|
||||
)
|
||||
self.log.debug(instance)
|
||||
Loading…
Add table
Add a link
Reference in a new issue