From b30603a1907932e8c9b6f970f15a2ca5d97998e5 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Mon, 13 Nov 2023 05:34:32 +0100 Subject: [PATCH] feat: Make it possible to load SSB secrets from a non-default file --- ssb/util.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ssb/util.py b/ssb/util.py index 55a431c..09ad4e5 100644 --- a/ssb/util.py +++ b/ssb/util.py @@ -24,6 +24,7 @@ from base64 import b64decode, b64encode import os +from typing import Optional from nacl.signing import SigningKey import yaml @@ -39,10 +40,12 @@ def tag(key): return b"@" + b64encode(bytes(key)) + b".ed25519" -def load_ssb_secret(): - """Load SSB keys from ~/.ssb""" +def load_ssb_secret(filename: Optional[str] = None): + """Load SSB keys from ``filename`` or, if unset, from ``~/.ssb/secret``""" - with open(os.path.expanduser("~/.ssb/secret"), encoding="utf-8") as f: + filename = filename or os.path.expanduser("~/.ssb/secret") + + with open(filename, encoding="utf-8") as f: config = yaml.load(f, Loader=yaml.SafeLoader) if config["curve"] != "ed25519":