Schon seit Ewigkeiten versuche ich den Schlüsselbund des Systems mit Python richtig zu verwenden. Nun glaube ich herausgefunden zu haben, dass dieses Modul hier eigentlich genau dafür geschaffen wurde:
https://github.com/jaraco/keyring/tree/ ... g/backends
Nun habe ich damit nur ein Problem, es wird nur ein Benutzername und ein Passwort gespeichert, es sollen aber noch weitere Infos (Attribute) wie z.b. eine URL hinterlegt werden können.
Es muss also die Funktion set_password dieses Scriptes hier angepasst werden: https://github.com/jaraco/keyring/blob/ ... Service.py
Bisher mache ich ja einfach:
Code: Alles auswählen
import keyring
keyring.set_password("system", "username", "password")
edit:
vermutlich am beten einfach die Klasse überschreiben, nur wie erhalte ich die default Argumente und für nur ein neues hinzu:
Code: Alles auswählen
class Keyring(keyring.backends.SecretService.Keyring):
def set_password(self):
print "test"
return
Code: Alles auswählen
def set_password(self, service, username, password, data=None):
"""Set password for the username of the service
"""
collection = self.get_preferred_collection()
attributes = {
"application": self.appid,
"service": service,
"username": username
}
if data:
attributes.update(data)
label = "Password for '%s' on '%s'" % (username, service)
collection.create_item(label, attributes, password, replace=True)
Aber damit sind nun ja alle anderen Methoden der Klasse weg!?