mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 15:44:04 -06:00
Also catch BlockingIOError when getting a keyring attribute
This occurs when there's a timeout, on some systems, when asking for the password to the keyring. We'll interpret a timeout as a refusal to enter a password. Fixes Sentry issue CURA-332.
This commit is contained in:
parent
2f999ca399
commit
5da63fda26
1 changed files with 2 additions and 1 deletions
|
@ -2,6 +2,7 @@
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
from typing import Type, TYPE_CHECKING, Optional, List
|
from typing import Type, TYPE_CHECKING, Optional, List
|
||||||
|
|
||||||
|
from io import BlockingIOError
|
||||||
import keyring
|
import keyring
|
||||||
from keyring.backend import KeyringBackend
|
from keyring.backend import KeyringBackend
|
||||||
from keyring.errors import NoKeyringError, PasswordSetError, KeyringLocked
|
from keyring.errors import NoKeyringError, PasswordSetError, KeyringLocked
|
||||||
|
@ -44,7 +45,7 @@ class KeyringAttribute:
|
||||||
self._store_secure = False
|
self._store_secure = False
|
||||||
Logger.logException("w", "No keyring backend present")
|
Logger.logException("w", "No keyring backend present")
|
||||||
return getattr(instance, self._name)
|
return getattr(instance, self._name)
|
||||||
except KeyringLocked:
|
except (KeyringLocked, BlockingIOError):
|
||||||
self._store_secure = False
|
self._store_secure = False
|
||||||
Logger.log("i", "Access to the keyring was denied.")
|
Logger.log("i", "Access to the keyring was denied.")
|
||||||
return getattr(instance, self._name)
|
return getattr(instance, self._name)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue