electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 37da192bf57401ff04dd7635c67f8f993c2e0d62
parent 30ffb3d4dca5a0f42473d8e2bd065049d5943e50
Author: SomberNight <somber.night@protonmail.com>
Date:   Sun, 26 May 2019 17:01:01 +0200

wizard/hw: less spammy logs when hw library unavailable

closes #5380

Diffstat:
Melectrum/base_wizard.py | 8++++++--
Melectrum/plugin.py | 3++-
2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/electrum/base_wizard.py b/electrum/base_wizard.py @@ -42,7 +42,7 @@ from .storage import (WalletStorage, STO_EV_USER_PW, STO_EV_XPUB_PW, from .i18n import _ from .util import UserCancelled, InvalidPassword, WalletFileException from .simple_config import SimpleConfig -from .plugin import Plugins +from .plugin import Plugins, HardwarePluginLibraryUnavailable from .logging import Logger if TYPE_CHECKING: @@ -255,7 +255,8 @@ class BaseWizard(Logger): def failed_getting_device_infos(name, e): nonlocal debug_msg - self.logger.info(f'error getting device infos for {name}: {e}') + err_str_oneline = ' // '.join(str(e).splitlines()) + self.logger.warning(f'error getting device infos for {name}: {err_str_oneline}') indented_error_msg = ' '.join([''] + str(e).splitlines(keepends=True)) debug_msg += f' {name}: (error getting device infos)\n{indented_error_msg}\n' @@ -281,6 +282,9 @@ class BaseWizard(Logger): # FIXME: side-effect: unpaired_device_info sets client.handler device_infos = devmgr.unpaired_device_infos(None, plugin, devices=scanned_devices, include_failing_clients=True) + except HardwarePluginLibraryUnavailable as e: + failed_getting_device_infos(name, e) + continue except BaseException as e: self.logger.exception('') failed_getting_device_infos(name, e) diff --git a/electrum/plugin.py b/electrum/plugin.py @@ -283,6 +283,7 @@ class BasePlugin(Logger): class DeviceNotFoundError(Exception): pass class DeviceUnpairableError(Exception): pass +class HardwarePluginLibraryUnavailable(Exception): pass class Device(NamedTuple): @@ -502,7 +503,7 @@ class DeviceMgr(ThreadJob): unpaired device accepted by the plugin.''' if not plugin.libraries_available: message = plugin.get_library_not_available_message() - raise Exception(message) + raise HardwarePluginLibraryUnavailable(message) if devices is None: devices = self.scan_devices() devices = [dev for dev in devices if not self.xpub_by_id(dev.id_)]