cli: improve messages for unpairing errors

This commit is contained in:
Peter F. Patel-Schneider 2020-08-05 18:08:05 -04:00
parent 1973693cc8
commit 6918353a29
2 changed files with 6 additions and 4 deletions

View File

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

View File

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