From 32070c0b4e9f1f3545e72cd65eff8c2dc9552e66 Mon Sep 17 00:00:00 2001 From: Felix Jung <felix.jung@tu-dresden.de> Date: Fri, 3 Dec 2021 12:40:01 +0100 Subject: [PATCH] fixed system keyring authentification issue - Removed superfluous call to `_call_keyring` - Replaced deprecated `imp` module --- src/caosdb/connection/authentication/keyring.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/caosdb/connection/authentication/keyring.py b/src/caosdb/connection/authentication/keyring.py index d8be7ddf..99d18413 100644 --- a/src/caosdb/connection/authentication/keyring.py +++ b/src/caosdb/connection/authentication/keyring.py @@ -28,7 +28,7 @@ retrieve the password. """ import sys -import imp +import importlib from getpass import getpass from caosdb.exceptions import ConfigurationError from .external_credentials_provider import ExternalCredentialsProvider @@ -52,17 +52,13 @@ def get_authentication_provider(): def _get_external_keyring(): try: - fil, pathname, desc = imp.find_module("keyring", sys.path[1:]) - module = imp.load_module("external_keyring", fil, pathname, desc) - return module + return importlib.import_module("keyring") except ImportError: raise RuntimeError( "The keyring password method requires installation of the" "keyring python package. On linux with python < 3.5, " "this requires the installation of dbus-python as a " "system package.") - finally: - fil.close() def _call_keyring(**config): @@ -74,7 +70,6 @@ def _call_keyring(**config): url = config.get("url") username = config.get("username") app = "caosdb — {}".format(url) - password = _call_keyring(app=app, username=username) external_keyring = _get_external_keyring() password = external_keyring.get_password(app, username) if password is None: -- GitLab