diff --git a/jrnl/EncryptedJournal.py b/jrnl/EncryptedJournal.py index 519631e4..7354e7a2 100644 --- a/jrnl/EncryptedJournal.py +++ b/jrnl/EncryptedJournal.py @@ -176,7 +176,9 @@ def get_keychain(journal_name): try: return keyring.get_password("jrnl", journal_name) - except (keyring.errors.KeyringError, RuntimeError): + except keyring.errors.KeyringError as e: + if not isinstance(e, keyring.errors.NoKeyringError): + print("Failed to retrieve keyring", file=sys.stderr) return "" @@ -191,10 +193,11 @@ def set_keychain(journal_name, password): else: try: keyring.set_password("jrnl", journal_name, password) - except (keyring.errors.KeyringError): - pass - except (keyring.errors.NoKeyringError): - print( - "Keyring backend not found. Please install one of the supported backends by visiting: https://pypi.org/project/keyring/", - file=sys.stderr, - ) + except keyring.errors.KeyringError as e: + if isinstance(e, keyring.errors.NoKeyringError): + print( + "Keyring backend not found. Please install one of the supported backends by visiting: https://pypi.org/project/keyring/", + file=sys.stderr, + ) + else: + print("Failed to retrieve keyring", file=sys.stderr)