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:
|
if number and number <= r.max_devices:
|
||||||
dev = r[number]
|
dev = r[number]
|
||||||
if dev:
|
if dev:
|
||||||
return dev
|
yield dev
|
||||||
else: # wired device, make a device list from it
|
else: # wired device, make a device list from it
|
||||||
r = [r]
|
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()
|
name == dev.serial.lower() or name == dev.codename.lower() or name == str(dev.kind).lower()
|
||||||
or name in dev.name.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):
|
def run(cli_args=None, hidraw_path=None):
|
||||||
|
|
|
@ -51,10 +51,15 @@ def run(receivers, args, find_receiver, find_device):
|
||||||
assert args.device
|
assert args.device
|
||||||
|
|
||||||
device_name = args.device.lower()
|
device_name = args.device.lower()
|
||||||
dev = find_device(receivers, device_name)
|
|
||||||
|
|
||||||
if not dev.ping():
|
dev = None
|
||||||
raise Exception('%s is offline' % dev.name)
|
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 args.setting: # print all settings, so first set them all up
|
||||||
if not dev.settings:
|
if not dev.settings:
|
||||||
|
|
|
@ -287,6 +287,8 @@ def run(devices, args, find_receiver, find_device):
|
||||||
_print_receiver(dev)
|
_print_receiver(dev)
|
||||||
return
|
return
|
||||||
|
|
||||||
dev = find_device(devices, device_name)
|
dev = next(find_device(devices, device_name), None)
|
||||||
assert dev
|
if not dev:
|
||||||
|
raise Exception("no device found matching '%s'" % device_name)
|
||||||
|
|
||||||
_print_device(dev)
|
_print_device(dev)
|
||||||
|
|
|
@ -25,7 +25,9 @@ def run(receivers, args, find_receiver, find_device):
|
||||||
assert args.device
|
assert args.device
|
||||||
|
|
||||||
device_name = args.device.lower()
|
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:
|
if not dev.receiver.may_unpair:
|
||||||
print(
|
print(
|
||||||
|
|
Loading…
Reference in New Issue