Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

deadline shortcut added to settings with type error #5274

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions openpype/modules/deadline/actions/launcher_deadline.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import subprocess
import os
import platform
FadyFS marked this conversation as resolved.
Show resolved Hide resolved
import acre
from openpype.pipeline import LauncherAction
from openpype.modules import ModulesManager
from openpype.client import get_project, get_asset_by_name
FadyFS marked this conversation as resolved.
Show resolved Hide resolved
from openpype.lib.applications import parse_environments, _merge_env
FadyFS marked this conversation as resolved.
Show resolved Hide resolved
from openpype.settings import (
FadyFS marked this conversation as resolved.
Show resolved Hide resolved
get_system_settings,
get_general_environments
)
class LaunchDeadline(LauncherAction):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expected 2 blank lines, found 0

name = "launchdeadline"
label = "Launch Deadline"
icon = "/prod/softprod/apps/deadline/10.1.23.6/linux/icons/Deadline_Monitor.png"
FadyFS marked this conversation as resolved.
Show resolved Hide resolved
color = "#e0e1e1"
order = 10

@staticmethod
def get_deadline_module():
return ModulesManager().modules_by_name.get("deadline")

def is_compatible(self, session):
if not session.get("AVALON_PROJECT"):
return False

return True

def process(self, session, **kwargs):
print("Launching Deadline")
# Get deadline settings
deadline_settings = get_system_settings()["modules"]["deadline"]
env_variables = deadline_settings[0]["environment"]
deadline_paths = deadline_settings[0]["deadline_paths"]
deadline_urls = deadline_settings[0]["deadline_urls"]
print(deadline_urls)

merge_envs = acre.merge(env_variables, os.environ)
parsed_env_variables = acre.compute(merge_envs, cleanup=False)

for key, value in parsed_env_variables.items():
os.environ[key] = value

# Call the method to open the app
process = subprocess.Popen(["xterm", "-e", deadline_paths["linux"][0]])
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

local variable 'process' is assigned to but never used

10 changes: 6 additions & 4 deletions openpype/modules/deadline/deadline_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,13 @@ def __init__(self, manager, settings):
def initialize(self, modules_settings):
# This module is always enabled
deadline_settings = modules_settings[self.name]
self.enabled = deadline_settings["enabled"]
deadline_url = deadline_settings.get("DEADLINE_REST_URL")
self.enabled = deadline_settings[0]['enabled']
deadline_url = deadline_settings[0].get("DEADLINE_REST_URL")

if deadline_url:
self.deadline_urls = {"default": deadline_url}
else:
self.deadline_urls = deadline_settings.get("deadline_urls") # noqa: E501
self.deadline_urls = deadline_settings[0].get("deadline_urls") # noqa: E501

if not self.deadline_urls:
self.enabled = False
Expand All @@ -40,7 +41,8 @@ def get_plugin_paths(self):
"""Deadline plugin paths."""
current_dir = os.path.dirname(os.path.abspath(__file__))
return {
"publish": [os.path.join(current_dir, "plugins", "publish")]
"publish": [os.path.join(current_dir, "plugins", "publish")],
"actions": [os.path.join(current_dir, "actions")],
}

@staticmethod
Expand Down
18 changes: 13 additions & 5 deletions openpype/settings/defaults/system_settings/modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,20 @@
"enabled": false,
"sites": {}
},
"deadline": {
"enabled": true,
"deadline_urls": {
"default": "http://127.0.0.1:8082"
"deadline": [
{
"default":{
"enabled": true,
"deadline_urls": "http://127.0.0.1:8082",
"deadline_paths": {
"windows": [],
"darwin": [],
"linux": []
},
"environment": {}
}
}
},
],
"muster": {
"enabled": false,
"MUSTER_REST_URL": "http://127.0.0.1:9890",
Expand Down
1 change: 1 addition & 0 deletions openpype/settings/entities/list_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def __contains__(self, item):
return False

def __getitem__(self, idx):
print("ListEntity.__getitem__ : ", idx)
if not isinstance(idx, int):
idx = int(idx)
return self.children[idx]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,26 +186,40 @@
]
},
{
"type": "dict",
"type": "list",
"key": "deadline",
"label": "Deadline",
"require_restart": true,
"collapsible": true,
"is_group": true,
"use_label_wrap": true,
"checkbox_key": "enabled",
"children": [
{
"type": "boolean",
"key": "enabled",
"label": "Enabled"
},
{
"type": "dict-modifiable",
"object_type": "text",
"key": "deadline_urls",
"required_keys": ["default"],
"label": "Deadline Webservice URLs"
}
]
"required_keys": ["default"],
"object_type":{
"type": "dict",
"children": [
{
"type": "boolean",
"key": "enabled",
"label": "Enabled"
},
{
"type": "text",
"key": "deadline_urls",
"label": "Deadline Webservice URLs"
},
{
"type": "path",
"key": "deadline_paths",
"label": "Deadline Paths",
"multipath": true,
"multiplatform": true
},
{
"type":"raw-json",
"key": "environment",
"label": "Environment"
}
]
}
},
{
"type": "dict",
Expand Down
Loading