Onionr/static-data/official-plugins/wot/wot/wotkeyring/__init__.py

23 lines
599 B
Python
Raw Normal View History

2022-10-22 06:22:29 +00:00
import base64
import keyring
2022-10-22 06:22:29 +00:00
from wot.identity import Identity
def get_identity_by_name(name: str) -> 'Identity':
iden_key = keyring.get_credential('onionr.wot', name)
2022-10-22 06:22:29 +00:00
iden_key = base64.b85decode(iden_key)
if not iden_key:
raise KeyError('Identity not found')
return Identity(iden_key, name)
2022-10-22 06:22:29 +00:00
def set_identity(identity: 'Identity') -> None:
name = identity.name
if identity.private_key:
2022-10-22 06:22:29 +00:00
keyring.set_password('onionr.wot', name, base64.b85encode(bytes(identity.private_key)))
else:
raise ValueError('Cannot set identity with no private key')