xi-keyring

simple and extensible alternative for gnome-keyring
git clone https://git.ce9e.org/xi-keyring.git

commit
c06c6ead6bcaaab5d8da2e90b6357c40ce1573eb
parent
337592899179aa1d399bdeddb25db3d3695d882c
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2026-05-24 11:55
main: combine dump/restore into a single option

Diffstat

M xikeyring/__main__.py 15 +++++----------

1 files changed, 5 insertions, 10 deletions


diff --git a/xikeyring/__main__.py b/xikeyring/__main__.py

@@ -22,14 +22,9 @@ def get_data_home():
   22    22 def parse_args():
   23    23     parser = argparse.ArgumentParser('xikeyring')
   24    24     parser.add_argument(
   25    -1         '--dump',
   26    -1         help='print the decryted file and exit',
   27    -1         action='store_true',
   28    -1     )
   29    -1     parser.add_argument(
   30    -1         '--restore',
   31    -1         help='inverse of --dump',
   32    -1         action='store_true',
   -1    25         'action',
   -1    26         choices=['dump', 'restore'],
   -1    27         nargs='?',
   33    28     )
   34    29     parser.add_argument(
   35    30         '--store',
@@ -55,11 +50,11 @@ pr_set(dumpable=False)
   55    50 
   56    51 args = parse_args()
   57    52 keyring = KeyringProxy(args.store, args.key)
   58    -1 if args.dump:
   -1    53 if args.action == 'dump':
   59    54     encrypted = keyring.path.read_bytes()
   60    55     decrypted = Fernet(keyring.key.value).decrypt(encrypted)
   61    56     print(decrypted.decode('utf-8'))
   62    -1 elif args.restore:
   -1    57 elif args.action == 'restore':
   63    58     decrypted = sys.stdin.read().encode('utf-8')
   64    59     encrypted = Fernet(keyring.key.value).encrypt(decrypted)
   65    60     write_bytes(keyring.path, encrypted)