Skip to content

Commit

Permalink
Merge pull request #729 from ynput/enhancement/AY-5714_Provide-user-c…
Browse files Browse the repository at this point in the history
…redential-fields-on-Deadline-Studio-Settings

Deadline: provide default user credential fields in studio settings
  • Loading branch information
kalisp authored Jul 8, 2024
2 parents 7c5d9f8 + 32867d9 commit ea3c559
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@

class CollectDeadlineUserCredentials(pyblish.api.InstancePlugin):
"""Collects user name and password for artist if DL requires authentication
If Deadline server is marked to require authentication, it looks first for
default values in 'Studio Settings', which could be overriden by artist
dependent values from 'Site settings`.
"""
order = pyblish.api.CollectorOrder + 0.250
label = "Collect Deadline User Credentials"
Expand Down Expand Up @@ -72,12 +76,23 @@ def process(self, instance):

addons_manager = instance.context.data["ayonAddonsManager"]
deadline_addon = addons_manager["deadline"]

default_username = deadline_info["default_username"]
default_password = deadline_info["default_password"]
if default_username and default_password:
self.log.debug("Setting credentials from defaults")
instance.data["deadline"]["auth"] = (default_username,
default_password)

# TODO import 'get_addon_site_settings' when available
# in public 'ayon_api'
local_settings = get_server_api_connection().get_addon_site_settings(
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"]:
instance.data["deadline"]["auth"] = (server_info["username"],
server_info["password"])
if server_info["username"] and server_info["password"]:
self.log.debug("Setting credentials from Site Settings")
instance.data["deadline"]["auth"] = \
(server_info["username"], server_info["password"])
break
2 changes: 1 addition & 1 deletion server_addon/deadline/client/ayon_deadline/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
"""Package declaring AYON addon 'deadline' version."""
__version__ = "0.2.2"
__version__ = "0.2.3"
2 changes: 1 addition & 1 deletion server_addon/deadline/package.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "deadline"
title = "Deadline"
version = "0.2.2"
version = "0.2.3"

client_dir = "ayon_deadline"

Expand Down
19 changes: 17 additions & 2 deletions server_addon/deadline/server/settings/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,25 @@ async def defined_deadline_ws_name_enum_resolver(

class ServerItemSubmodel(BaseSettingsModel):
"""Connection info about configured DL servers."""
_layout = "compact"
_layout = "expanded"
name: str = SettingsField(title="Name")
value: str = SettingsField(title="Url")
require_authentication: bool = SettingsField(
False, title="Require authentication")
not_verify_ssl: bool = SettingsField(
False, title="Don't verify SSL")
default_username: str = SettingsField(
"",
title="Default user name",
description="Webservice username, 'Require authentication' must be "
"enabled."
)
default_password: str = SettingsField(
"",
title="Default password",
description="Webservice password, 'Require authentication' must be "
"enabled."
)


class DeadlineSettings(BaseSettingsModel):
Expand Down Expand Up @@ -77,7 +89,10 @@ def validate_unique_names(cls, value):
"name": "default",
"value": "http://127.0.0.1:8082",
"require_authentication": False,
"not_verify_ssl": False
"not_verify_ssl": False,
"default_username": "",
"default_password": ""

}
],
"deadline_server": "default",
Expand Down

0 comments on commit ea3c559

Please sign in to comment.