Fix crash when no keyring backend available

This commit is contained in:
Peter Schmidbauer 2019-10-29 18:17:44 +01:00
parent ef23d7eabe
commit 6ad89a26c8

View file

@ -80,7 +80,10 @@ def get_password(validator, keychain=None, max_attempts=3):
def get_keychain(journal_name): def get_keychain(journal_name):
import keyring import keyring
return keyring.get_password('jrnl', journal_name) try:
return keyring.get_password('jrnl', journal_name)
except RuntimeError:
return ""
def set_keychain(journal_name, password): def set_keychain(journal_name, password):
@ -88,7 +91,7 @@ def set_keychain(journal_name, password):
if password is None: if password is None:
try: try:
keyring.delete_password('jrnl', journal_name) keyring.delete_password('jrnl', journal_name)
except: except RuntimeError:
pass pass
elif not TEST: elif not TEST:
keyring.set_password('jrnl', journal_name, password) keyring.set_password('jrnl', journal_name, password)