From 6faa5acdf79d185b6f09ec9db88bb6f0b80debc2 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 26 Mar 2024 13:49:20 +0100 Subject: [PATCH] AY-745 - refactored format of credentials Now on instance, in `deadline` dictionary --- .../plugins/publish/submit_blender_deadline.py | 3 ++- .../plugins/publish/submit_fusion_deadline.py | 10 ++++------ .../plugins/publish/submit_max_deadline.py | 6 ++++-- .../plugins/publish/submit_maya_deadline.py | 8 ++++---- .../plugins/publish/submit_nuke_deadline.py | 5 +++-- .../plugins/publish/submit_publish_cache_job.py | 5 +++-- .../deadline/plugins/publish/submit_publish_job.py | 14 +++++++------- 7 files changed, 27 insertions(+), 24 deletions(-) diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_blender_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_blender_deadline.py index ae19e63a37..a60bd70b13 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_blender_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_blender_deadline.py @@ -172,7 +172,8 @@ class BlenderSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, instance.data["toBeRenderedOn"] = "deadline" payload = self.assemble_payload() - return self.submit(payload) + return self.submit(payload, + auth=instance.data["deadline"]["auth"]) def from_published_scene(self): """ diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py index 54ec6101d0..35c99108be 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py @@ -94,10 +94,7 @@ class FusionSubmitDeadline( from ayon_core.hosts.fusion.api.lib import get_frame_path # get default deadline webservice url from deadline module - deadline_url = instance.context.data["defaultDeadline"] - # if custom one is set in instance, use that - if instance.data.get("deadlineUrl"): - deadline_url = instance.data.get("deadlineUrl") + deadline_url = instance.data["deadline"]["url"] assert deadline_url, "Requires Deadline Webservice URL" # Collect all saver instances in context that are to be rendered @@ -251,8 +248,9 @@ class FusionSubmitDeadline( # E.g. http://192.168.0.1:8082/api/jobs url = "{}/api/jobs".format(deadline_url) kwargs = {} - if instance.context.data["deadline_auth"]: - kwargs["auth"] = instance.context.data["deadline_auth"] + auth = instance.data["deadline"]["auth"] + if auth: + kwargs["auth"] = auth response = requests_post(url, json=payload, **kwargs) if not response.ok: raise Exception(response.text) diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_max_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_max_deadline.py index 1abefa515a..51a9e6abfd 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_max_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_max_deadline.py @@ -185,11 +185,13 @@ class MaxSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, payload_data, project_settings) job_infos, plugin_infos = payload for job_info, plugin_info in zip(job_infos, plugin_infos): - self.submit(self.assemble_payload(job_info, plugin_info)) + self.submit(self.assemble_payload(job_info, plugin_info), + instance.data["deadline"]["auth"]) else: payload = self._use_published_name(payload_data, project_settings) job_info, plugin_info = payload - self.submit(self.assemble_payload(job_info, plugin_info)) + self.submit(self.assemble_payload(job_info, plugin_info), + instance.data["deadline"]["auth"]) def _use_published_name(self, data, project_settings): # Not all hosts can import these modules. diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_maya_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_maya_deadline.py index 10e834e09a..83ccfc7278 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_maya_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_maya_deadline.py @@ -331,7 +331,7 @@ class MayaSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, self.log.debug("Submitting V-Ray scene render..") vray_export_payload = self._get_vray_export_payload(payload_data) export_job = self.submit(vray_export_payload, - instance.context.data["deadline_auth"]) + instance.data["deadline"]["auth"]) payload = self._get_vray_render_payload(payload_data) @@ -351,7 +351,7 @@ class MayaSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, # Submit main render job job_info, plugin_info = payload self.submit(self.assemble_payload(job_info, plugin_info), - instance.context.data["deadline_auth"]) + instance.data["deadline"]["auth"]) def _tile_render(self, payload): """Submit as tile render per frame with dependent assembly jobs.""" @@ -452,7 +452,7 @@ class MayaSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, frame_tile_job_id = {} for frame, tile_job_payload in frame_payloads.items(): job_id = self.submit(tile_job_payload, - instance.context.data["deadline_auth"]) + instance.data["deadline"]["auth"]) frame_tile_job_id[frame] = job_id # Define assembly payloads @@ -561,7 +561,7 @@ class MayaSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline, num_assemblies) ) assembly_job_id = self.submit(payload, - instance.context.data["deadline_auth"]) + instance.data["deadline"]["auth"]) assembly_job_ids.append(assembly_job_id) instance.data["assemblySubmissionJobs"] = assembly_job_ids diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_nuke_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_nuke_deadline.py index e80c56ee1f..07ee30af8c 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_nuke_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_nuke_deadline.py @@ -435,8 +435,9 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin, self.log.debug("__ expectedFiles: `{}`".format( instance.data["expectedFiles"])) kwargs = {} - if instance.context.data["deadline_auth"]: - kwargs["auth"] = instance.context.data["deadline_auth"] + auth = instance.data["deadline"]["auth"] + if auth: + kwargs["auth"] = auth response = requests_post(self.deadline_url, json=payload, timeout=10, **kwargs) diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_publish_cache_job.py b/client/ayon_core/modules/deadline/plugins/publish/submit_publish_cache_job.py index 86ac2201e6..09e4f8a446 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_publish_cache_job.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_publish_cache_job.py @@ -210,8 +210,9 @@ class ProcessSubmittedCacheJobOnFarm(pyblish.api.InstancePlugin, url = "{}/api/jobs".format(self.deadline_url) kwargs = {} - if instance.context.data["deadline_auth"]: - kwargs["auth"] = instance.context.data["deadline_auth"] + auth = instance.data["deadline"]["auth"] + if auth: + kwargs["auth"] = auth response = requests_post(url, json=payload, timeout=10, **kwargs) if not response.ok: diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_publish_job.py b/client/ayon_core/modules/deadline/plugins/publish/submit_publish_job.py index e9e76a112c..bacf902849 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_publish_job.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_publish_job.py @@ -304,8 +304,9 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin, url = "{}/api/jobs".format(self.deadline_url) kwargs = {} - if instance.context.data["deadline_auth"]: - kwargs["auth"] = instance.context.data["deadline_auth"] + auth = instance.data["deadline"]["auth"] + if auth: + kwargs["auth"] = auth response = requests_post(url, json=payload, timeout=10, **kwargs) if not response.ok: @@ -462,10 +463,7 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin, } # get default deadline webservice url from deadline module - self.deadline_url = instance.context.data["defaultDeadline"] - # if custom one is set in instance, use that - if instance.data.get("deadlineUrl"): - self.deadline_url = instance.data.get("deadlineUrl") + self.deadline_url = instance.data["deadline"]["url"] assert self.deadline_url, "Requires Deadline Webservice URL" deadline_publish_job_id = \ @@ -473,7 +471,9 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin, # Inject deadline url to instances. for inst in instances: - inst["deadlineUrl"] = self.deadline_url + if not "deadline" in inst: + inst["deadline"] = {} + inst["deadline"]["url"] = self.deadline_url # publish job file publish_job = {