URI: 
       thw plugins: log exception at import time (but only if interesting) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 2eb02931aea1d4bf0c869284959bdb9b584f19f4
   DIR parent de903103dafd46e1073d0e4de5df86e2407386bd
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Mon, 11 Jan 2021 00:05:23 +0100
       
       hw plugins: log exception at import time (but only if interesting)
       
       related: https://github.com/spesmilo/electrum/issues/6928
       
       Diffstat:
         M electrum/plugins/bitbox02/bitbox02… |      10 ++++++----
         M electrum/plugins/coldcard/coldcard… |       4 +++-
         M electrum/plugins/ledger/ledger.py   |       4 +++-
         M electrum/plugins/trezor/trezor.py   |       3 ++-
       
       4 files changed, 14 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/electrum/plugins/bitbox02/bitbox02.py b/electrum/plugins/bitbox02/bitbox02.py
       t@@ -25,6 +25,9 @@ import electrum.ecc as ecc
        from ..hw_wallet import HW_PluginBase, HardwareClientBase
        
        
       +_logger = get_logger(__name__)
       +
       +
        try:
            from bitbox02 import bitbox02
            from bitbox02 import util
       t@@ -36,13 +39,12 @@ try:
                FirmwareVersionOutdatedException,
            )
            requirements_ok = True
       -except ImportError:
       +except ImportError as e:
       +    if not (isinstance(e, ModuleNotFoundError) and e.name == 'bitbox02'):
       +        _logger.exception('error importing bitbox02 plugin deps')
            requirements_ok = False
        
        
       -_logger = get_logger(__name__)
       -
       -
        class BitBox02Client(HardwareClientBase):
            # handler is a BitBox02_Handler, importing it would lead to a circular dependency
            def __init__(self, handler: Any, device: Device, config: SimpleConfig, *, plugin: HW_PluginBase):
   DIR diff --git a/electrum/plugins/coldcard/coldcard.py b/electrum/plugins/coldcard/coldcard.py
       t@@ -49,7 +49,9 @@ try:
                    except:
                        return False
        
       -except ImportError:
       +except ImportError as e:
       +    if not (isinstance(e, ModuleNotFoundError) and e.name == 'ckcc'):
       +        _logger.exception('error importing coldcard plugin deps')
            requirements_ok = False
        
            COINKITE_VID = 0xd13e
   DIR diff --git a/electrum/plugins/ledger/ledger.py b/electrum/plugins/ledger/ledger.py
       t@@ -35,7 +35,9 @@ try:
            from btchip.btchipException import BTChipException
            BTCHIP = True
            BTCHIP_DEBUG = False
       -except ImportError:
       +except ImportError as e:
       +    if not (isinstance(e, ModuleNotFoundError) and e.name == 'btchip'):
       +        _logger.exception('error importing ledger plugin deps')
            BTCHIP = False
        
        MSG_NEEDS_FW_UPDATE_GENERIC = _('Firmware version too old. Please update at') + \
   DIR diff --git a/electrum/plugins/trezor/trezor.py b/electrum/plugins/trezor/trezor.py
       t@@ -36,7 +36,8 @@ try:
        
            TREZORLIB = True
        except Exception as e:
       -    _logger.exception('error importing trezorlib')
       +    if not (isinstance(e, ModuleNotFoundError) and e.name == 'trezorlib'):
       +        _logger.exception('error importing trezor plugin deps')
            TREZORLIB = False
        
            class _EnumMissing: