diff --git a/lib/logitech_receiver/receiver.py b/lib/logitech_receiver/receiver.py index 8b74b4e5..e3186fd1 100644 --- a/lib/logitech_receiver/receiver.py +++ b/lib/logitech_receiver/receiver.py @@ -553,7 +553,7 @@ class Receiver(object): _log.warn('%s unpaired device %s', self, dev) else: _log.error('%s failed to unpair device %s', self, dev) - raise IndexError(key) + raise Exception('failed to unpair device %s: %s' % (dev.name, key)) def __len__(self): return len([d for d in self._devices.values() if d is not None]) diff --git a/lib/solaar/cli/unpair.py b/lib/solaar/cli/unpair.py index 7ec89acb..d3be7c0a 100644 --- a/lib/solaar/cli/unpair.py +++ b/lib/solaar/cli/unpair.py @@ -28,12 +28,14 @@ def run(receivers, args, find_receiver, find_device): dev = find_device(receivers, device_name) if not dev.receiver.may_unpair: - print('Receiver for %s [%s:%s] does not unpair, but attempting anyway' % (dev.name, dev.wpid, dev.serial)) - + print( + 'Receiver with USB id %s for %s [%s:%s] does not unpair, but attempting anyway.' % + (dev.receiver.product_id, dev.name, dev.wpid, dev.serial) + ) try: # query these now, it's last chance to get them number, codename, wpid, serial = dev.number, dev.codename, dev.wpid, dev.serial dev.receiver._unpair_device(number, True) # force an unpair print('Unpaired %d: %s (%s) [%s:%s]' % (number, dev.name, codename, wpid, serial)) except Exception as e: - raise Exception('failed to unpair device %s: %s' % (dev.name, e)) + raise e