trezor: use TREZOR_PATH environment variable to specify device path
parent
03e7fc48e9
commit
8708b1e16d
@ -1,13 +1,27 @@
|
|||||||
"""TREZOR-related definitions."""
|
"""TREZOR-related definitions."""
|
||||||
|
|
||||||
# pylint: disable=unused-import,import-error
|
# pylint: disable=unused-import,import-error
|
||||||
|
import os
|
||||||
|
import logging
|
||||||
|
|
||||||
from trezorlib.client import CallException, PinException
|
from trezorlib.client import CallException, PinException
|
||||||
from trezorlib.client import TrezorClient as Client
|
from trezorlib.client import TrezorClient as Client
|
||||||
from trezorlib.messages import IdentityType, PassphraseAck, PinMatrixAck, PassphraseStateAck
|
from trezorlib.messages import IdentityType, PassphraseAck, PinMatrixAck, PassphraseStateAck
|
||||||
from trezorlib.device import TrezorDevice
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
from trezorlib.transport import get_transport
|
||||||
|
except ImportError:
|
||||||
|
from trezorlib.device import TrezorDevice
|
||||||
|
get_transport = TrezorDevice.find_by_path
|
||||||
|
|
||||||
def enumerate_transports():
|
log = logging.getLogger(__name__)
|
||||||
"""Returns all available transports."""
|
|
||||||
return TrezorDevice.enumerate()
|
|
||||||
|
def find_device():
|
||||||
|
"""Selects a transport based on `TREZOR_PATH` env variable.
|
||||||
|
If unset, picks first connected device.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
return get_transport(os.environ.get("TREZOR_PATH"))
|
||||||
|
except Exception as e:
|
||||||
|
log.debug("Failed to find a Trezor device: %s", e)
|
||||||
|
Loading…
Reference in New Issue