From 2c2c07d964c5d86f903840b432a1eb718c58db53 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Sun, 3 Mar 2024 09:59:02 +0000 Subject: [PATCH] MoneroWalletOps: preclude use of `cfg.outdir` --- mmgen/addrfile.py | 6 ++++-- mmgen/autosign.py | 1 - mmgen/cfg.py | 1 + mmgen/data/release_date | 2 +- mmgen/data/version | 2 +- mmgen/fileutil.py | 5 +++-- mmgen/xmrwallet.py | 4 ++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/mmgen/addrfile.py b/mmgen/addrfile.py index e3c214e0..a43d1d25 100755 --- a/mmgen/addrfile.py +++ b/mmgen/addrfile.py @@ -68,7 +68,8 @@ class AddrFile(MMGenObject): fn = None, binary = False, desc = None, - ask_overwrite = True): + ask_overwrite = True, + outdir = None): from .fileutil import write_data_to_file write_data_to_file( cfg = self.cfg, @@ -77,7 +78,8 @@ class AddrFile(MMGenObject): desc = desc or self.desc, ask_tty = self.parent.has_keys and not self.cfg.quiet, binary = binary, - ask_overwrite = ask_overwrite) + ask_overwrite = ask_overwrite, + outdir = outdir) def make_label(self): p = self.parent diff --git a/mmgen/autosign.py b/mmgen/autosign.py index f9698568..9b0a848d 100755 --- a/mmgen/autosign.py +++ b/mmgen/autosign.py @@ -627,7 +627,6 @@ class Autosign: 'wallet_dir': str(self.wallet_dir), 'autosign': True, 'autosign_mountpoint': str(self.mountpoint), - 'outdir': str(self.xmr_dir), # required by vkal.write() 'offline': True, 'passwd_file': str(self.keyfile), }) diff --git a/mmgen/cfg.py b/mmgen/cfg.py index 88e21e0b..be84a905 100755 --- a/mmgen/cfg.py +++ b/mmgen/cfg.py @@ -239,6 +239,7 @@ class Config(Lockable): ('label','keep_label'), ('tx_id','info'), ('tx_id','terse_info'), + ('autosign','outdir'), ) _cfg_file_opts = ( diff --git a/mmgen/data/release_date b/mmgen/data/release_date index 9b91f23b..99bfe3fc 100644 --- a/mmgen/data/release_date +++ b/mmgen/data/release_date @@ -1 +1 @@ -February 2024 +March 2024 diff --git a/mmgen/data/version b/mmgen/data/version index 99c41596..e469c7b2 100644 --- a/mmgen/data/version +++ b/mmgen/data/version @@ -1 +1 @@ -14.1.dev15 +14.1.dev16 diff --git a/mmgen/fileutil.py b/mmgen/fileutil.py index dbecd7f4..eb20f48f 100755 --- a/mmgen/fileutil.py +++ b/mmgen/fileutil.py @@ -161,6 +161,7 @@ def write_data_to_file( quiet = False, binary = False, ignore_opt_outdir = False, + outdir = None, check_data = False, cmp_data = None): @@ -218,8 +219,8 @@ def write_data_to_file( os.write(1,data if isinstance(data,bytes) else data.encode()) def do_file(outfile,ask_write_prompt): - if cfg.outdir and not ignore_opt_outdir and not os.path.isabs(outfile): - outfile = make_full_path(cfg.outdir,outfile) + if (outdir or (cfg.outdir and not ignore_opt_outdir)) and not os.path.isabs(outfile): + outfile = make_full_path(outdir or cfg.outdir, outfile) if ask_write: if not ask_write_prompt: diff --git a/mmgen/xmrwallet.py b/mmgen/xmrwallet.py index b63cfe97..63d5ae80 100755 --- a/mmgen/xmrwallet.py +++ b/mmgen/xmrwallet.py @@ -1217,13 +1217,13 @@ class MoneroWalletOps: vkf = vkal.file # before writing viewkey-address file, shred any old ones in the directory: - for f in Path(self.cfg.outdir or '.').iterdir(): + for f in Path(self.asi.xmr_dir).iterdir(): if f.name.endswith(vkf.ext): from .fileutil import shred_file msg(f"\nShredding old viewkey-address file '{f}'") shred_file( f, verbose=self.cfg.verbose ) - vkf.write() # write file to self.cfg.outdir + vkf.write(outdir=self.asi.xmr_dir) class restore(create): wallet_offline = True