From 925f5f92139607681ab44a39e1cd787393ea919c Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 21 Dec 2020 22:08:43 +0100 Subject: [PATCH 1/5] register deadline plugins via module manager --- pype/modules/__init__.py | 2 ++ pype/modules/base.py | 1 + pype/modules/deadline/deadline_module.py | 13 +++++++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pype/modules/__init__.py b/pype/modules/__init__.py index 4f76dc2df0..42da1ae288 100644 --- a/pype/modules/__init__.py +++ b/pype/modules/__init__.py @@ -34,6 +34,7 @@ from .ftrack import ( from .clockify import ClockifyModule from .logging import LoggingModule from .muster import MusterModule +from .deadline import DeadlineModule from .standalonepublish_action import StandAlonePublishAction from .websocket_server import WebsocketModule from .sync_server import SyncServer @@ -72,6 +73,7 @@ __all__ = ( "IdleManager", "LoggingModule", "MusterModule", + "DeadlineModule", "StandAlonePublishAction", "WebsocketModule", diff --git a/pype/modules/base.py b/pype/modules/base.py index 525320f1a7..d4d49f916d 100644 --- a/pype/modules/base.py +++ b/pype/modules/base.py @@ -428,6 +428,7 @@ class TrayModulesManager(ModulesManager): "user", "ftrack", "muster", + "deadline", "launcher_tool", "avalon", "clockify", diff --git a/pype/modules/deadline/deadline_module.py b/pype/modules/deadline/deadline_module.py index 6de68c390f..ba920f7f13 100644 --- a/pype/modules/deadline/deadline_module.py +++ b/pype/modules/deadline/deadline_module.py @@ -1,7 +1,9 @@ -from .. import PypeModule +import os +from pype.modules import ( + PypeModule, IPluginPaths) -class DeadlineModule(PypeModule): +class DeadlineModule(PypeModule, IPluginPaths): name = "deadline" def initialize(self, modules_settings): @@ -18,3 +20,10 @@ class DeadlineModule(PypeModule): def connect_with_modules(self, *_a, **_kw): return + + 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")] + } From 4ea02c384e203b36eae327707c2f048890c85345 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 21 Dec 2020 22:08:56 +0100 Subject: [PATCH 2/5] move deadline plugins to deadline module --- .../deadline/plugins}/publish/submit_aftereffects_deadline.py | 0 .../deadline/plugins}/publish/submit_maya_deadline.py | 0 .../deadline/plugins}/publish/submit_nuke_deadline.py | 0 .../deadline/plugins}/publish/submit_publish_job.py | 0 .../deadline/plugins}/publish/validate_deadline_connection.py | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) rename pype/{plugins/aftereffects => modules/deadline/plugins}/publish/submit_aftereffects_deadline.py (100%) rename pype/{plugins/maya => modules/deadline/plugins}/publish/submit_maya_deadline.py (100%) rename pype/{plugins/nuke => modules/deadline/plugins}/publish/submit_nuke_deadline.py (100%) rename pype/{plugins/global => modules/deadline/plugins}/publish/submit_publish_job.py (100%) rename pype/{plugins/maya => modules/deadline/plugins}/publish/validate_deadline_connection.py (98%) diff --git a/pype/plugins/aftereffects/publish/submit_aftereffects_deadline.py b/pype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py similarity index 100% rename from pype/plugins/aftereffects/publish/submit_aftereffects_deadline.py rename to pype/modules/deadline/plugins/publish/submit_aftereffects_deadline.py diff --git a/pype/plugins/maya/publish/submit_maya_deadline.py b/pype/modules/deadline/plugins/publish/submit_maya_deadline.py similarity index 100% rename from pype/plugins/maya/publish/submit_maya_deadline.py rename to pype/modules/deadline/plugins/publish/submit_maya_deadline.py diff --git a/pype/plugins/nuke/publish/submit_nuke_deadline.py b/pype/modules/deadline/plugins/publish/submit_nuke_deadline.py similarity index 100% rename from pype/plugins/nuke/publish/submit_nuke_deadline.py rename to pype/modules/deadline/plugins/publish/submit_nuke_deadline.py diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/modules/deadline/plugins/publish/submit_publish_job.py similarity index 100% rename from pype/plugins/global/publish/submit_publish_job.py rename to pype/modules/deadline/plugins/publish/submit_publish_job.py diff --git a/pype/plugins/maya/publish/validate_deadline_connection.py b/pype/modules/deadline/plugins/publish/validate_deadline_connection.py similarity index 98% rename from pype/plugins/maya/publish/validate_deadline_connection.py rename to pype/modules/deadline/plugins/publish/validate_deadline_connection.py index 0733c3badf..1c49e68ee1 100644 --- a/pype/plugins/maya/publish/validate_deadline_connection.py +++ b/pype/modules/deadline/plugins/publish/validate_deadline_connection.py @@ -10,7 +10,7 @@ class ValidateDeadlineConnection(pyblish.api.ContextPlugin): label = "Validate Deadline Web Service" order = pyblish.api.ValidatorOrder - hosts = ["maya"] + hosts = ["maya", "nuke"] families = ["renderlayer"] def process(self, context): From ff09244146775a8cc5e4b8e7b104c077a136a365 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 21 Dec 2020 22:09:22 +0100 Subject: [PATCH 3/5] add missing scandir to requirements (uncaught from pathlib2) --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 658405e2fb..6faadba909 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,6 +24,7 @@ pytest-cov pytest-print pyqt5 Qt.py +scandir speedcopy six Sphinx From 4e521445fff0c67363d42405857725067e09e313 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 21 Dec 2020 22:09:59 +0100 Subject: [PATCH 4/5] read deadline and muster "enabled" settings in maya render creator --- pype/plugins/maya/create/create_render.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pype/plugins/maya/create/create_render.py b/pype/plugins/maya/create/create_render.py index b718079b43..2b0b0e19f7 100644 --- a/pype/plugins/maya/create/create_render.py +++ b/pype/plugins/maya/create/create_render.py @@ -127,18 +127,18 @@ class CreateRender(avalon.maya.Creator): system_settings = get_system_settings()["modules"] + deadline_enabled = system_settings["deadline"]["enabled"] + muster_enabled = system_settings["muster"]["enabled"] deadline_url = system_settings["deadline"]["DEADLINE_REST_URL"] muster_url = system_settings["muster"]["MUSTER_REST_URL"] - if deadline_url and muster_url: + if deadline_enabled and muster_enabled: self.log.error( "Both Deadline and Muster are enabled. " "Cannot support both." ) raise RuntimeError("Both Deadline and Muster are enabled") - if deadline_url is None: - self.log.warning("Deadline REST API url not found.") - else: + if deadline_enabled: argument = "{}/api/pools?NamesOnly=true".format(deadline_url) try: response = self._requests_get(argument) @@ -155,9 +155,7 @@ class CreateRender(avalon.maya.Creator): # set any secondary pools self.data["secondaryPool"] = ["-"] + pools - if muster_url is None: - self.log.warning("Muster REST API URL not found.") - else: + if muster_enabled: self.log.info(">>> Loading Muster credentials ...") self._load_credentials() self.log.info(">>> Getting pools ...") From 8db8feb04627424c6909ee40c21f4be7928e979e Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Tue, 22 Dec 2020 17:17:54 +0100 Subject: [PATCH 5/5] remove deadline from tray module manager --- pype/modules/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pype/modules/base.py b/pype/modules/base.py index d4d49f916d..525320f1a7 100644 --- a/pype/modules/base.py +++ b/pype/modules/base.py @@ -428,7 +428,6 @@ class TrayModulesManager(ModulesManager): "user", "ftrack", "muster", - "deadline", "launcher_tool", "avalon", "clockify",