Browse Source

hw plugins: log exception at import time (but only if interesting)

related: https://github.com/spesmilo/electrum/issues/6928
patch-4
SomberNight 4 years ago
parent
commit
2eb02931ae
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 10
      electrum/plugins/bitbox02/bitbox02.py
  2. 4
      electrum/plugins/coldcard/coldcard.py
  3. 4
      electrum/plugins/ledger/ledger.py
  4. 3
      electrum/plugins/trezor/trezor.py

10
electrum/plugins/bitbox02/bitbox02.py

@ -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
@ -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):

4
electrum/plugins/coldcard/coldcard.py

@ -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

4
electrum/plugins/ledger/ledger.py

@ -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') + \

3
electrum/plugins/trezor/trezor.py

@ -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:

Loading…
Cancel
Save