From d11b0894e7e594fa6d919a8c3869fe931edbec7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20LORRAIN?= Date: Wed, 15 Dec 2021 14:14:35 +0100 Subject: [PATCH] Update shotgrid publish plugins --- .../plugins/publish/submit_publish_job.py | 1 + .../publish/integrate_shotgrid_publish.py | 2 +- .../publish/integrate_shotgrid_version.py | 20 +++++++++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/openpype/modules/default_modules/deadline/plugins/publish/submit_publish_job.py b/openpype/modules/default_modules/deadline/plugins/publish/submit_publish_job.py index 3b79650fa35..391ceb14dba 100644 --- a/openpype/modules/default_modules/deadline/plugins/publish/submit_publish_job.py +++ b/openpype/modules/default_modules/deadline/plugins/publish/submit_publish_job.py @@ -111,6 +111,7 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): "celaction": [r".*"]} enviro_filter = [ + "OPENPYPE_SG_USER", "FTRACK_API_USER", "FTRACK_API_KEY", "FTRACK_SERVER", diff --git a/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_publish.py b/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_publish.py index 4f67c37c392..033d2cb62ac 100644 --- a/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_publish.py +++ b/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_publish.py @@ -18,7 +18,7 @@ def process(self, instance): version_id = context.data.get("versionEntity", {}).get("_id") - shotgrid_version = context.data.get("shotgridVersion") + shotgrid_version = instance.data.get("shotgridVersion") for representation in instance.data.get("representations", []): diff --git a/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_version.py b/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_version.py index c7657a2d09a..337ecbdfbca 100644 --- a/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_version.py +++ b/openpype/modules/default_modules/shotgrid/plugins/publish/integrate_shotgrid_version.py @@ -2,7 +2,7 @@ import pyblish.api -class IntegrateShotgridVersion(pyblish.api.ContextPlugin): +class IntegrateShotgridVersion(pyblish.api.InstancePlugin): """ Integrate Shotgrid Version """ order = pyblish.api.IntegratorOrder+0.497 @@ -10,11 +10,22 @@ class IntegrateShotgridVersion(pyblish.api.ContextPlugin): sg = None - def process(self, context): + def process(self, instance): + context = instance.context self.sg = context.data.get("shotgridSession") - code = os.path.splitext(os.path.basename(context.data.get("currentFile")))[0] + # TODO: Use path template solver to build version code from settings + anatomy = instance.data.get("anatomyData", {}) + code = "_".join( + [ + anatomy['project']['code'], + anatomy['parent'], + anatomy['asset'], + anatomy['task']['name'], + "v{:03}".format(int(anatomy['version'])) + ] + ) version = self._find_existing_version(code, context) @@ -23,8 +34,9 @@ def process(self, context): self.log.info("Create Shotgrid version: {}".format(version)) else: self.log.info("Use existing Shotgrid version: {}".format(version)) + self.sg.update("Version", version['id'], _additional_version_data(context)) - context.data["shotgridVersion"] = version + instance.data["shotgridVersion"] = version def _find_existing_version(self, code, context):