From bc149efe5e94fa5199a049ccd30fb55710d5f604 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 10 Nov 2021 00:02:01 +0100 Subject: [PATCH] add credential handling to ftrack module --- .../default_modules/ftrack/ftrack_module.py | 8 +++++++ .../publish/collect_local_ftrack_creds.py | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 openpype/modules/default_modules/ftrack/plugins/publish/collect_local_ftrack_creds.py diff --git a/openpype/modules/default_modules/ftrack/ftrack_module.py b/openpype/modules/default_modules/ftrack/ftrack_module.py index 73a4dfee82..aca418e0b8 100644 --- a/openpype/modules/default_modules/ftrack/ftrack_module.py +++ b/openpype/modules/default_modules/ftrack/ftrack_module.py @@ -409,3 +409,11 @@ class FtrackModule( return 0 hours_logged = (task_entity["time_logged"] / 60) / 60 return hours_logged + + def get_credentials(self): + # type: () -> tuple + """Get local Ftrack credentials.""" + from .lib import credentials + + cred = credentials.get_credentials(self.ftrack_url) + return cred.get("username"), cred.get("api_key") diff --git a/openpype/modules/default_modules/ftrack/plugins/publish/collect_local_ftrack_creds.py b/openpype/modules/default_modules/ftrack/plugins/publish/collect_local_ftrack_creds.py new file mode 100644 index 0000000000..2093ebf18a --- /dev/null +++ b/openpype/modules/default_modules/ftrack/plugins/publish/collect_local_ftrack_creds.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +"""Collect default Deadline server.""" +import pyblish.api +import os + + +class CollectLocalFtrackCreds(pyblish.api.ContextPlugin): + """Collect default Royal Render path.""" + + order = pyblish.api.CollectorOrder + 0.01 + label = "Collect local ftrack credentials" + targets = ["rr_control"] + + def process(self, context): + if os.getenv("FTRACK_API_USER") and os.getenv("FTRACK_API_KEY") and \ + os.getenv("FTRACK_SERVER"): + return + ftrack_module = context.data["openPypeModules"]["ftrack"] + if ftrack_module.enabled: + creds = ftrack_module.get_credentials() + os.environ["FTRACK_API_USER"] = creds[0] + os.environ["FTRACK_API_KEY"] = creds[1] + os.environ["FTRACK_SERVER"] = ftrack_module.ftrack_url