1
0

Merge pull request #10187 from accumulator/hww_offline_err_fix

don't sys.exit() from run_offline_command, this leads to wait on lock that never releases
This commit is contained in:
accumulator
2025-09-02 13:27:18 +02:00
committed by GitHub

View File

@@ -211,8 +211,7 @@ def get_connected_hw_devices(plugins: 'Plugins'):
def get_password_for_hw_device_encrypted_storage(plugins: 'Plugins') -> str:
devices = get_connected_hw_devices(plugins)
if len(devices) == 0:
print_msg("Error: No connected hw device found. Cannot decrypt this wallet.")
sys.exit(1)
raise UserFacingException("Error: No connected hw device found. Cannot decrypt this wallet.")
elif len(devices) > 1:
print_msg("Warning: multiple hardware devices detected. "
"The first one will be used to decrypt the wallet.")
@@ -224,7 +223,7 @@ def get_password_for_hw_device_encrypted_storage(plugins: 'Plugins') -> str:
client.handler = client.plugin.create_handler(None)
return client.get_password_for_storage_encryption()
except UserCancelled:
sys.exit(0)
raise
async def run_offline_command(config: 'SimpleConfig', config_options: dict, wallet_path: str, plugins: 'Plugins'):
@@ -251,7 +250,7 @@ async def run_offline_command(config: 'SimpleConfig', config_options: dict, wall
wallet.check_password(password)
except InvalidPassword:
print_msg("Error: This password does not decode this wallet.")
sys.exit(1)
raise
if cmd.requires_network:
print_msg("Warning: running command offline")
# arguments passed to function
@@ -592,6 +591,12 @@ def handle_cmd(*, cmdname: str, config: 'SimpleConfig', config_options: dict):
except UserFacingException as e:
print_stderr(str(e))
sys_exit(1)
except InvalidPassword:
print_stderr("Invalid password")
sys_exit(1)
except UserCancelled:
print_stderr("Aborted by user")
sys_exit(1)
except Exception as e:
_logger.exception("error running command (without daemon)")
sys_exit(1)