hw plugins: log exception at import time (but only if interesting)
related: https://github.com/spesmilo/electrum/issues/6928
This commit is contained in:
@@ -25,6 +25,9 @@ import electrum.ecc as ecc
|
|||||||
from ..hw_wallet import HW_PluginBase, HardwareClientBase
|
from ..hw_wallet import HW_PluginBase, HardwareClientBase
|
||||||
|
|
||||||
|
|
||||||
|
_logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from bitbox02 import bitbox02
|
from bitbox02 import bitbox02
|
||||||
from bitbox02 import util
|
from bitbox02 import util
|
||||||
@@ -36,13 +39,12 @@ try:
|
|||||||
FirmwareVersionOutdatedException,
|
FirmwareVersionOutdatedException,
|
||||||
)
|
)
|
||||||
requirements_ok = True
|
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
|
requirements_ok = False
|
||||||
|
|
||||||
|
|
||||||
_logger = get_logger(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
class BitBox02Client(HardwareClientBase):
|
class BitBox02Client(HardwareClientBase):
|
||||||
# handler is a BitBox02_Handler, importing it would lead to a circular dependency
|
# 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):
|
def __init__(self, handler: Any, device: Device, config: SimpleConfig, *, plugin: HW_PluginBase):
|
||||||
|
|||||||
@@ -49,7 +49,9 @@ try:
|
|||||||
except:
|
except:
|
||||||
return False
|
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
|
requirements_ok = False
|
||||||
|
|
||||||
COINKITE_VID = 0xd13e
|
COINKITE_VID = 0xd13e
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ try:
|
|||||||
from btchip.btchipException import BTChipException
|
from btchip.btchipException import BTChipException
|
||||||
BTCHIP = True
|
BTCHIP = True
|
||||||
BTCHIP_DEBUG = False
|
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
|
BTCHIP = False
|
||||||
|
|
||||||
MSG_NEEDS_FW_UPDATE_GENERIC = _('Firmware version too old. Please update at') + \
|
MSG_NEEDS_FW_UPDATE_GENERIC = _('Firmware version too old. Please update at') + \
|
||||||
|
|||||||
@@ -36,7 +36,8 @@ try:
|
|||||||
|
|
||||||
TREZORLIB = True
|
TREZORLIB = True
|
||||||
except Exception as e:
|
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
|
TREZORLIB = False
|
||||||
|
|
||||||
class _EnumMissing:
|
class _EnumMissing:
|
||||||
|
|||||||
Reference in New Issue
Block a user