From acd9fe861a30d51d6bb8d203a914d2a969dca846 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Mon, 31 May 2021 20:04:02 +0200 Subject: [PATCH] moved workfile instance collecting to separated collector --- .../plugins/publish/collect_instances.py | 35 --------------- .../plugins/publish/collect_workfile.py | 43 +++++++++++++++++++ 2 files changed, 43 insertions(+), 35 deletions(-) create mode 100644 openpype/hosts/tvpaint/plugins/publish/collect_workfile.py diff --git a/openpype/hosts/tvpaint/plugins/publish/collect_instances.py b/openpype/hosts/tvpaint/plugins/publish/collect_instances.py index 36bad4f609..9b11f9fe80 100644 --- a/openpype/hosts/tvpaint/plugins/publish/collect_instances.py +++ b/openpype/hosts/tvpaint/plugins/publish/collect_instances.py @@ -18,8 +18,6 @@ class CollectInstances(pyblish.api.ContextPlugin): json.dumps(workfile_instances, indent=4) )) - self.add_workfile_instance(context) - # Backwards compatibility for workfiles that already have review # instance in metadata. review_instance_exist = False @@ -233,36 +231,3 @@ class CollectInstances(pyblish.api.ContextPlugin): instance_data["layers"] = render_pass_layers return context.create_instance(**instance_data) - - def add_workfile_instance(self, context): - current_file = context.data["currentFile"] - - self.log.info( - "Workfile path used for workfile family: {}".format(current_file) - ) - - dirpath, filename = os.path.split(current_file) - basename, ext = os.path.splitext(filename) - instance = context.create_instance(name=basename) - - task_name = io.Session["AVALON_TASK"] - subset_name = "workfile" + task_name.capitalize() - - # Create Workfile instance - instance.data.update({ - "subset": subset_name, - "asset": context.data["asset"], - "label": subset_name, - "publish": True, - "family": "workfile", - "families": ["workfile"], - "representations": [{ - "name": ext.lstrip("."), - "ext": ext.lstrip("."), - "files": filename, - "stagingDir": dirpath - }] - }) - self.log.info("Collected workfile instance: {}".format( - json.dumps(instance.data, indent=4) - )) diff --git a/openpype/hosts/tvpaint/plugins/publish/collect_workfile.py b/openpype/hosts/tvpaint/plugins/publish/collect_workfile.py new file mode 100644 index 0000000000..d75ba617ca --- /dev/null +++ b/openpype/hosts/tvpaint/plugins/publish/collect_workfile.py @@ -0,0 +1,43 @@ +import os +import json +import pyblish.api +from avalon import io + + +class CollectInstances(pyblish.api.ContextPlugin): + label = "Collect Workfile instance" + order = pyblish.api.CollectorOrder - 1 + hosts = ["tvpaint"] + + def process(self, context): + current_file = context.data["currentFile"] + + self.log.info( + "Workfile path used for workfile family: {}".format(current_file) + ) + + dirpath, filename = os.path.split(current_file) + basename, ext = os.path.splitext(filename) + instance = context.create_instance(name=basename) + + task_name = io.Session["AVALON_TASK"] + subset_name = "workfile" + task_name.capitalize() + + # Create Workfile instance + instance.data.update({ + "subset": subset_name, + "asset": context.data["asset"], + "label": subset_name, + "publish": True, + "family": "workfile", + "families": ["workfile"], + "representations": [{ + "name": ext.lstrip("."), + "ext": ext.lstrip("."), + "files": filename, + "stagingDir": dirpath + }] + }) + self.log.info("Collected workfile instance: {}".format( + json.dumps(instance.data, indent=4) + ))