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

23 lines
599 B
Python

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