URI: 
       twizard/hw: less spammy logs when hw library unavailable - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 37da192bf57401ff04dd7635c67f8f993c2e0d62
   DIR parent 30ffb3d4dca5a0f42473d8e2bd065049d5943e50
  HTML 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:
         M electrum/base_wizard.py             |       8 ++++++--
         M electrum/plugin.py                  |       3 ++-
       
       2 files changed, 8 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/electrum/base_wizard.py b/electrum/base_wizard.py
       t@@ -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:
       t@@ -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'
        
       t@@ -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)
   DIR diff --git a/electrum/plugin.py b/electrum/plugin.py
       t@@ -283,6 +283,7 @@ class BasePlugin(Logger):
        
        class DeviceNotFoundError(Exception): pass
        class DeviceUnpairableError(Exception): pass
       +class HardwarePluginLibraryUnavailable(Exception): pass
        
        
        class Device(NamedTuple):
       t@@ -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_)]