use deadline addon from ayonAddonsManager during publishing

This commit is contained in:
Jakub Trllo 2024-06-06 15:12:48 +02:00
parent 3668a7f66f
commit 8eddd59910
2 changed files with 16 additions and 10 deletions

View file

@ -13,7 +13,6 @@ Provides:
import pyblish.api
from ayon_api import get_server_api_connection
from ayon_deadline import __version__, DeadlineModule
class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin):
@ -80,10 +79,13 @@ class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin):
if not deadline_info["require_authentication"]:
return
# TODO import 'get_addon_site_settings' when available
addons_manager = instance.context.data["ayonAddonsManager"]
deadline_addon = addons_manager["deadline"]
# TODO import 'get_addon_site_settings' when available
# in public 'ayon_api'
local_settings = get_server_api_connection().get_addon_site_settings(
DeadlineModule.name, __version__)
deadline_addon.name, deadline_addon.version)
local_settings = local_settings["local_settings"]
for server_info in local_settings:
if deadline_server_name == server_info["server_name"]:

View file

@ -4,7 +4,6 @@ from ayon_core.pipeline import (
PublishXmlValidationError,
OptionalPyblishPluginMixin
)
from ayon_deadline import DeadlineModule
class ValidateDeadlinePools(OptionalPyblishPluginMixin,
@ -38,8 +37,13 @@ class ValidateDeadlinePools(OptionalPyblishPluginMixin,
return
deadline_url = instance.data["deadline"]["url"]
pools = self.get_pools(deadline_url,
instance.data["deadline"].get("auth"))
addons_manager = instance.context.data["ayonAddonsManager"]
deadline_addon = addons_manager["deadline"]
pools = self.get_pools(
deadline_addon,
deadline_url,
instance.data["deadline"].get("auth")
)
invalid_pools = {}
primary_pool = instance.data.get("primaryPool")
@ -62,15 +66,15 @@ class ValidateDeadlinePools(OptionalPyblishPluginMixin,
formatting_data={"pools_str": ", ".join(pools)}
)
def get_pools(self, deadline_url, auth):
def get_pools(self, deadline_addon, deadline_url, auth):
if deadline_url not in self.pools_per_url:
self.log.debug(
"Querying available pools for Deadline url: {}".format(
deadline_url)
)
pools = DeadlineModule.get_deadline_pools(deadline_url,
auth=auth,
log=self.log)
pools = deadline_addon.get_deadline_pools(
deadline_url, auth=auth, log=self.log
)
# some DL return "none" as a pool name
if "none" not in pools:
pools.append("none")