From 28e9c03c75e50d8e53537d5f21ab208803c3cd3c Mon Sep 17 00:00:00 2001 From: totaam Date: Sat, 30 Apr 2022 20:16:10 +0700 Subject: [PATCH] #3486 can't catch an error we can't import --- xpra/server/auth/keycloak_auth.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/xpra/server/auth/keycloak_auth.py b/xpra/server/auth/keycloak_auth.py index c91f6d6131..0b14a25f33 100644 --- a/xpra/server/auth/keycloak_auth.py +++ b/xpra/server/auth/keycloak_auth.py @@ -105,9 +105,16 @@ def check(self, response_json) -> bool: return False try: + # pylint: disable=import-outside-toplevel from keycloak import KeycloakOpenID from keycloak.exceptions import KeycloakError + except ImportError as e: + log("check(..)", exc_info=True) + log.warn("Warning: cannot use keycloak authentication:") + log.warn(" %s", e) + return False + try: # Configure client keycloak_openid = KeycloakOpenID(server_url=self.server_url, client_id=self.client_id, @@ -153,11 +160,6 @@ def check(self, response_json) -> bool: log.error("Error: keycloak authentication failed") log.error(" error code %s: %s", e.response_code, e.error_message) return False - except ImportError as e: - log("check(..)", exc_info=True) - log.warn("Warning: cannot use keycloak authentication:") - log.warn(" %s", e) - return False def main(args): # pragma: no cover