mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 05:49:03 +08:00
Store new keys to preference
CURA-7180 keyring storage
This commit is contained in:
parent
b604bbd255
commit
2796b9bef3
@ -7,12 +7,14 @@ from UM.Logger import Logger
|
||||
|
||||
class SecretStorage:
|
||||
def __init__(self, preferences: Optional["Preferences"] = None):
|
||||
self._stored_secrets = {}
|
||||
self._stored_secrets = set()
|
||||
if preferences:
|
||||
self._preferences = preferences
|
||||
keys = self._preferences.getValue("general/keyring")
|
||||
if keys is not None and keys != '':
|
||||
self._stored_secrets = set(keys.split(";"))
|
||||
else:
|
||||
self._preferences.addPreference("general/keyring", "{}")
|
||||
|
||||
def __delitem__(self, key):
|
||||
if key in self._stored_secrets:
|
||||
@ -28,10 +30,13 @@ class SecretStorage:
|
||||
keyring.set_password("cura", key, value)
|
||||
self._stored_secrets.add(key)
|
||||
self._preferences.setValue(f"general/{key}", None)
|
||||
self._preferences.setValue("general/keyring", ";".join(self._stored_secrets))
|
||||
except:
|
||||
Logger.logException("w", f"Could not store {key} in keyring.")
|
||||
self._preferences.setValue(f"general/{key}", value)
|
||||
if key in self._stored_secrets:
|
||||
self._stored_secrets.remove(key)
|
||||
self._preferences.addPreference("general/{key}".format(key=key), "{}")
|
||||
self._preferences.setValue("general/{key}".format(key=key), value)
|
||||
self._preferences.setValue("general/keyring", ";".join(self._stored_secrets))
|
||||
|
||||
def __getitem__(self, key):
|
||||
secret = self._preferences.getValue(f"general/{key}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user