diff --git a/pacli/keystore.py b/pacli/keystore.py index aa71780..d3d6897 100644 --- a/pacli/keystore.py +++ b/pacli/keystore.py @@ -74,19 +74,22 @@ def __init__(self, keystore: GpgKeystore, **kwargs): self.__init__hack__ = Provider.__init__ self.__init__hack__(**kwargs) self.keystore = keystore + self._loaded = False - #TODO only do this and cleanup if needed - self.load_privkeys() - @atexit.register - def _cleanup(): - self.keystore.write(self.dumpprivkeys()) + def load_keystore(self): + if (not self._loaded): + self.privkeys = self.keystore.read() + self._loaded = True - def load_privkeys(self): - self.privkeys = self.keystore.read() + @atexit.register + def _cleanup(): + self.keystore.write(self.dumpprivkeys()) def importprivkey(self, privkey: str, label: str) -> int: """import with