From 065b64d1e08868ad063dcf6b2308cbfafff9d9c7 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 9 Apr 2021 10:36:20 +0200 Subject: [PATCH] use OpenPypeSecureRegistry --- openpype/modules/clockify/clockify_api.py | 9 ++-- openpype/modules/ftrack/lib/credentials.py | 48 +++++++++++++++------- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/openpype/modules/clockify/clockify_api.py b/openpype/modules/clockify/clockify_api.py index e2de726f39..29de5de0c9 100644 --- a/openpype/modules/clockify/clockify_api.py +++ b/openpype/modules/clockify/clockify_api.py @@ -9,8 +9,7 @@ from .constants import ( ADMIN_PERMISSION_NAMES ) -# from openpype.lib import OpenPypeSettingsRegistry -from openpype.lib.local_settings import OpenPypeSecureRegistry as OpenPypeSettingsRegistry +from openpype.lib.local_settings import OpenPypeSecureRegistry def time_check(obj): @@ -35,7 +34,7 @@ class ClockifyAPI: self.request_counter = 0 self.request_time = time.time() - self.secure_registry = OpenPypeSettingsRegistry("clockify") + self.secure_registry = OpenPypeSecureRegistry("clockify") @property def headers(self): @@ -135,10 +134,10 @@ class ClockifyAPI: return False def get_api_key(self): - return self.secure_registry.get_secure_item("api_key", None) + return self.secure_registry.get_item("api_key", None) def save_api_key(self, api_key): - self.secure_registry.set_secure_item("api_key", api_key) + self.secure_registry.set_item("api_key", api_key) def get_workspaces(self): action_url = 'workspaces/' diff --git a/openpype/modules/ftrack/lib/credentials.py b/openpype/modules/ftrack/lib/credentials.py index 05a74c0875..2d719347e7 100644 --- a/openpype/modules/ftrack/lib/credentials.py +++ b/openpype/modules/ftrack/lib/credentials.py @@ -7,7 +7,7 @@ except ImportError: from urlparse import urlparse -from openpype.lib import OpenPypeSettingsRegistry +from openpype.lib import OpenPypeSecureRegistry USERNAME_KEY = "username" API_KEY_KEY = "api_key" @@ -23,38 +23,56 @@ def get_ftrack_hostname(ftrack_server=None): return urlparse(ftrack_server).hostname -def _get_ftrack_secure_key(hostname): +def _get_ftrack_secure_key(hostname, key): """Secure item key for entered hostname.""" - return "/".join(("ftrack", hostname)) + return "/".join(("ftrack", hostname, key)) def get_credentials(ftrack_server=None): hostname = get_ftrack_hostname(ftrack_server) - secure_key = _get_ftrack_secure_key(hostname) + username_name = _get_ftrack_secure_key(hostname, USERNAME_KEY) + api_key_name = _get_ftrack_secure_key(hostname, API_KEY_KEY) + + username_registry = OpenPypeSecureRegistry(username_name) + api_key_registry = OpenPypeSecureRegistry(api_key_name) - registry = OpenPypeSettingsRegistry(secure_key) return { - USERNAME_KEY: registry.get_secure_item(USERNAME_KEY, None), - API_KEY_KEY: registry.get_secure_item(API_KEY_KEY, None) + USERNAME_KEY: username_registry.get_item(USERNAME_KEY, None), + API_KEY_KEY: api_key_registry.get_item(API_KEY_KEY, None) } def save_credentials(username, api_key, ftrack_server=None): hostname = get_ftrack_hostname(ftrack_server) - secure_key = _get_ftrack_secure_key(hostname) + username_name = _get_ftrack_secure_key(hostname, USERNAME_KEY) + api_key_name = _get_ftrack_secure_key(hostname, API_KEY_KEY) - registry = OpenPypeSettingsRegistry(secure_key) - registry.set_secure_item(USERNAME_KEY, username) - registry.set_secure_item(API_KEY_KEY, api_key) + # Clear credentials + clear_credentials(ftrack_server) + + username_registry = OpenPypeSecureRegistry(username_name) + api_key_registry = OpenPypeSecureRegistry(api_key_name) + + username_registry.set_item(USERNAME_KEY, username) + api_key_registry.set_item(API_KEY_KEY, api_key) def clear_credentials(ftrack_server=None): hostname = get_ftrack_hostname(ftrack_server) - secure_key = _get_ftrack_secure_key(hostname) + username_name = _get_ftrack_secure_key(hostname, USERNAME_KEY) + api_key_name = _get_ftrack_secure_key(hostname, API_KEY_KEY) - registry = OpenPypeSettingsRegistry(secure_key) - registry.delete_secure_item(USERNAME_KEY) - registry.delete_secure_item(API_KEY_KEY) + username_registry = OpenPypeSecureRegistry(username_name) + api_key_registry = OpenPypeSecureRegistry(api_key_name) + + current_username = username_registry.get_item(USERNAME_KEY, None) + current_api_key = api_key_registry.get_item(API_KEY_KEY, None) + + if current_username is not None: + username_registry.delete_item(USERNAME_KEY) + + if current_api_key is not None: + api_key_registry.delete_item(API_KEY_KEY) def check_credentials(username, api_key, ftrack_server=None):