From 3b2a5a09e67cfb0f2c23e841a6ffa59d888ec482 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 5 Nov 2020 16:02:58 +0100 Subject: [PATCH] collect instances use globaly collected data --- .../tvpaint/publish/collect_instances.py | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/pype/plugins/tvpaint/publish/collect_instances.py b/pype/plugins/tvpaint/publish/collect_instances.py index 193302751d..caf6adee5f 100644 --- a/pype/plugins/tvpaint/publish/collect_instances.py +++ b/pype/plugins/tvpaint/publish/collect_instances.py @@ -1,5 +1,6 @@ +import json + import pyblish.api -import avalon.io from avalon.tvpaint import pipeline @@ -9,27 +10,28 @@ class CollectInstances(pyblish.api.ContextPlugin): 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 + workfile_instances = context.data["workfileInstances"] + + self.log.debug("Collected ({}) instances:\n{}".format( + len(workfile_instances), + json.dumps(workfile_instances, indent=4) )) # TODO add validations of existing instances # - layer id exists - for instance_data in instances_data: + for workfile_instance in workfile_instances: # Fill families - family = instance_data["family"] - instance_data["families"] = [family] + family = workfile_instance["family"] + workfile_instance["families"] = [family] # Instance name - subset_name = instance_data["subset"] - name = instance_data.get("name", subset_name) - instance_data["name"] = name + subset_name = workfile_instance["subset"] + name = workfile_instance.get("name", subset_name) + workfile_instance["name"] = name - active = instance_data.get("active", True) - instance_data["active"] = active - instance_data["publish"] = active + active = workfile_instance.get("active", True) + workfile_instance["active"] = active + workfile_instance["publish"] = active - instance = context.create_instance(**instance_data) + instance = context.create_instance(**workfile_instance) self.log.debug("Created instance: {}".format(instance))