URI: 
       twizard/hw: show transport type when listing HWDs - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 32af83b7aede02f0b9bb3e8294ef2dc0481fb6de
   DIR parent eba97f74b41b0e647aaf600f7cdd3bf643a40fee
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Fri, 16 Nov 2018 19:03:25 +0100
       
       wizard/hw: show transport type when listing HWDs
       
       Diffstat:
         M electrum/base_wizard.py             |       3 +--
         M electrum/plugin.py                  |       9 +++++++--
         M electrum/plugins/coldcard/coldcard… |       8 ++++++--
         M electrum/plugins/safe_t/safe_t.py   |       8 +++++++-
         M electrum/plugins/trezor/trezor.py   |       8 +++++++-
       
       5 files changed, 28 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/electrum/base_wizard.py b/electrum/base_wizard.py
       t@@ -283,8 +283,7 @@ class BaseWizard(object):
                for name, info in devices:
                    state = _("initialized") if info.initialized else _("wiped")
                    label = info.label or _("An unnamed {}").format(name)
       -            descr = f"{label} [{name}, {state}]"
       -            # TODO maybe expose info.device.path (mainly for transport type)
       +            descr = f"{label} [{name}, {state}, {info.device.transport_ui_string}]"
                    choices.append(((name, info), descr))
                msg = _('Select a device') + ':'
                self.choice_dialog(title=title, message=msg, choices=choices, run_next= lambda *args: self.on_device(*args, purpose=purpose))
   DIR diff --git a/electrum/plugin.py b/electrum/plugin.py
       t@@ -291,6 +291,7 @@ class Device(NamedTuple):
            id_: str
            product_key: Any   # when using hid, often Tuple[int, int]
            usage_page: int
       +    transport_ui_string: str
        
        
        class DeviceInfo(NamedTuple):
       t@@ -576,8 +577,12 @@ class DeviceMgr(ThreadJob, PrintError):
                        if len(id_) == 0:
                            id_ = str(d['path'])
                        id_ += str(interface_number) + str(usage_page)
       -                devices.append(Device(d['path'], interface_number,
       -                                      id_, product_key, usage_page))
       +                devices.append(Device(path=d['path'],
       +                                      interface_number=interface_number,
       +                                      id_=id_,
       +                                      product_key=product_key,
       +                                      usage_page=usage_page,
       +                                      transport_ui_string='hid'))
                return devices
        
            def scan_devices(self):
   DIR diff --git a/electrum/plugins/coldcard/coldcard.py b/electrum/plugins/coldcard/coldcard.py
       t@@ -625,10 +625,14 @@ class ColdcardPlugin(HW_PluginBase):
                fn = CKCC_SIMULATOR_PATH
        
                if os.path.exists(fn):
       -            return [Device(fn, -1, fn, (COINKITE_VID, CKCC_SIMULATED_PID), 0)]
       +            return [Device(path=fn,
       +                           interface_number=-1,
       +                           id_=fn,
       +                           product_key=(COINKITE_VID, CKCC_SIMULATED_PID),
       +                           usage_page=0,
       +                           transport_ui_string='simulator')]
        
                return []
       -        
        
            def create_client(self, device, handler):
                if handler:
   DIR diff --git a/electrum/plugins/safe_t/safe_t.py b/electrum/plugins/safe_t/safe_t.py
       t@@ -105,7 +105,13 @@ class SafeTPlugin(HW_PluginBase):
        
            def enumerate(self):
                devices = self.transport_handler.enumerate_devices()
       -        return [Device(d.get_path(), -1, d.get_path(), 'Safe-T mini', 0) for d in devices]
       +        return [Device(path=d.get_path(),
       +                       interface_number=-1,
       +                       id_=d.get_path(),
       +                       product_key='Safe-T mini',
       +                       usage_page=0,
       +                       transport_ui_string=d.get_path())
       +                for d in devices]
        
            def create_client(self, device, handler):
                try:
   DIR diff --git a/electrum/plugins/trezor/trezor.py b/electrum/plugins/trezor/trezor.py
       t@@ -106,7 +106,13 @@ class TrezorPlugin(HW_PluginBase):
        
            def enumerate(self):
                devices = self.transport_handler.enumerate_devices()
       -        return [Device(d.get_path(), -1, d.get_path(), 'TREZOR', 0) for d in devices]
       +        return [Device(path=d.get_path(),
       +                       interface_number=-1,
       +                       id_=d.get_path(),
       +                       product_key='TREZOR',
       +                       usage_page=0,
       +                       transport_ui_string=d.get_path())
       +                for d in devices]
        
            def create_client(self, device, handler):
                try: