From 260d49b097adfcab06d0e0a00ee0218bac1fb24c Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Mon, 24 Apr 2023 13:23:42 +0000 Subject: [PATCH] autosign,xmrwallet,proto.xmr.rpc: minor fixes and cleanups --- mmgen/autosign.py | 6 +++++- mmgen/proto/xmr/rpc.py | 11 ++++++++++- mmgen/xmrwallet.py | 8 ++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/mmgen/autosign.py b/mmgen/autosign.py index a9d228fc..908d2030 100755 --- a/mmgen/autosign.py +++ b/mmgen/autosign.py @@ -215,7 +215,11 @@ class Autosign: try: await rpc_init( self.cfg, proto ) except SocketError as e: - die(2,f'{coin} daemon not running or not listening on port {proto.rpc_port}') + from .daemon import CoinDaemon + d = CoinDaemon( self.cfg, proto=proto, test_suite=self.cfg.test_suite ) + die(2, + f'\n{e}\nIs the {d.coind_name} daemon ({d.exec_fn}) running ' + + 'and listening on the correct port?' ) @property def wallet_files(self): diff --git a/mmgen/proto/xmr/rpc.py b/mmgen/proto/xmr/rpc.py index cac7da39..54a47d2f 100755 --- a/mmgen/proto/xmr/rpc.py +++ b/mmgen/proto/xmr/rpc.py @@ -133,4 +133,13 @@ class MoneroWalletRPCClient(MoneroRPCClient): NB: the 'stop_wallet' RPC call closes the open wallet before shutting down the daemon, returning an error if no wallet is open """ - return self.call('stop_wallet') + try: + return self.call('stop_wallet') + except Exception as e: + from ...util import msg,msg_r,ymsg + from ...color import yellow + msg(f'{type(e).__name__}: {e}') + msg_r(yellow(f'Unable to shut down wallet daemon gracefully, so killing process instead...')) + ret = self.daemon.stop(silent=True) + ymsg('done') + return ret diff --git a/mmgen/xmrwallet.py b/mmgen/xmrwallet.py index a79f5d7c..e5979e16 100755 --- a/mmgen/xmrwallet.py +++ b/mmgen/xmrwallet.py @@ -568,8 +568,8 @@ class MoneroWalletOps: gmsg_r(f'\n Opening {desc} wallet...') self.c.call( # returns {} 'open_wallet', - filename=os.path.basename(self.fn), - password=self.d.wallet_passwd ) + filename = os.path.basename(self.fn), + password = self.d.wallet_passwd ) gmsg('done') if refresh: @@ -797,8 +797,8 @@ class MoneroWalletOps: msg_r(' Opening wallet...') self.c.call( 'open_wallet', - filename=os.path.basename(fn), - password=d.wallet_passwd ) + filename = os.path.basename(fn), + password = d.wallet_passwd ) msg('done') msg_r(' Getting wallet height (be patient, this could take a long time)...')