unpair: --dry-run 在没有 --slot 的情况下会被默默忽略,并执行真正的解绑操作
作者: rdannenbring创建于 2026年9月7日更新于 2026年9月7日
In lib/solaar/cli/unpair.py, run() dispatches to _run_slot_unpair() only when --slot is given. The positional-device path below it never consults args.dry_run:
def run(receivers, args, find_receiver, find_device):
assert receivers
if getattr(args, "slot", None) is not None:
_run_slot_unpair(receivers, args, find_receiver)
return
assert args.device, "unpair requires a device name, or use --slot"
device_name = args.device.lower()
dev = next(find_device(receivers, device_name), None)
if not dev:
raise Exception(f"no device found matching '{device_name}'")
...
dev.receiver._unpair_device(number, True) # force an unpair
print(f"Unpaired {int(number)}: {dev.name} ({codename}) [{wpid}:{serial}]")_run_slot_unpair() handles the flag correctly:
内容来源: pwr-Solaar/Solaar