cli: don't select unpaired device for config command
This commit is contained in:
parent
4b52b77348
commit
eb0d939d1a
|
@ -156,7 +156,7 @@ def _find_device(receivers, name):
|
|||
if number and number <= r.max_devices:
|
||||
dev = r[number]
|
||||
if dev:
|
||||
return dev
|
||||
yield dev
|
||||
else: # wired device, make a device list from it
|
||||
r = [r]
|
||||
|
||||
|
@ -165,9 +165,10 @@ def _find_device(receivers, name):
|
|||
name == dev.serial.lower() or name == dev.codename.lower() or name == str(dev.kind).lower()
|
||||
or name in dev.name.lower()
|
||||
):
|
||||
return dev
|
||||
yield dev
|
||||
|
||||
raise Exception("no device found matching '%s'" % name)
|
||||
|
||||
# raise Exception("no device found matching '%s'" % name)
|
||||
|
||||
|
||||
def run(cli_args=None, hidraw_path=None):
|
||||
|
|
|
@ -51,10 +51,15 @@ def run(receivers, args, find_receiver, find_device):
|
|||
assert args.device
|
||||
|
||||
device_name = args.device.lower()
|
||||
dev = find_device(receivers, device_name)
|
||||
|
||||
if not dev.ping():
|
||||
raise Exception('%s is offline' % dev.name)
|
||||
dev = None
|
||||
for dev in find_device(receivers, device_name):
|
||||
if dev.ping():
|
||||
break
|
||||
dev = None
|
||||
|
||||
if not dev:
|
||||
raise Exception("no online device found matching '%s'" % device_name)
|
||||
|
||||
if not args.setting: # print all settings, so first set them all up
|
||||
if not dev.settings:
|
||||
|
|
|
@ -287,6 +287,8 @@ def run(devices, args, find_receiver, find_device):
|
|||
_print_receiver(dev)
|
||||
return
|
||||
|
||||
dev = find_device(devices, device_name)
|
||||
assert dev
|
||||
dev = next(find_device(devices, device_name), None)
|
||||
if not dev:
|
||||
raise Exception("no device found matching '%s'" % device_name)
|
||||
|
||||
_print_device(dev)
|
||||
|
|
|
@ -25,7 +25,9 @@ def run(receivers, args, find_receiver, find_device):
|
|||
assert args.device
|
||||
|
||||
device_name = args.device.lower()
|
||||
dev = find_device(receivers, device_name)
|
||||
dev = next(find_device(receivers, device_name), None)
|
||||
if not dev:
|
||||
raise Exception("no device found matching '%s'" % device_name)
|
||||
|
||||
if not dev.receiver.may_unpair:
|
||||
print(
|
||||
|
|
Loading…
Reference in New Issue