From 41bb148caeb8067605020db3c1567ad158b85bf8 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 12 Oct 2021 10:11:27 +0200 Subject: [PATCH] converted start method to class methods --- .../hosts_job_server/module.py | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/openpype/modules/default_modules/hosts_job_server/module.py b/openpype/modules/default_modules/hosts_job_server/module.py index 51bf76f6bf..086b5a09f9 100644 --- a/openpype/modules/default_modules/hosts_job_server/module.py +++ b/openpype/modules/default_modules/hosts_job_server/module.py @@ -1,4 +1,5 @@ from openpype.modules import OpenPypeModule +from openpype.api import get_system_settings class HostsJobServer(OpenPypeModule): @@ -30,16 +31,34 @@ class HostsJobServer(OpenPypeModule): api_path = "{}/api/jobs/{}".format(self._server_url, job_id) return requests.get(api_path) - def start_server(self, port=None, host=None): + @classmethod + def get_server_url_from_settings(cls): + module_settings = get_system_settings()["modules"] + return ( + module_settings + .get("hosts_job_server", {}) + .get("server_url") + ) + + @classmethod + def start_server(cls, port=None, host=None): from .job_server import main return main(port, host) - def start_worker(self, app_name, server_url=None): + @classmethod + def start_worker(cls, app_name, server_url=None): + import requests from openpype.lib import ApplicationManager if server_url is None: - server_url = self._server_url + server_url = cls.get_server_url_from_settings() + + if not server_url: + raise ValueError("Server url is not set.") + + # Validate url + requests.get(server_url) app_manager = ApplicationManager() app = app_manager.applications.get(app_name) @@ -49,10 +68,11 @@ class HostsJobServer(OpenPypeModule): ) if app.host_name == "tvpaint": - return self._start_tvpaint_worker(app, server_url) + return cls._start_tvpaint_worker(app, server_url) raise ValueError("Unknown host \"{}\"".format(app.host_name)) - def _start_tvpaint_worker(self, app, server_url): + @classmethod + def _start_tvpaint_worker(cls, app, server_url): from .job_workers.tvpaint_worker import main executable = app.find_executable()