From 0b7b037e11e482e2f7ec867fae949e341ac713c0 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Mon, 22 Aug 2022 11:11:08 -0400 Subject: [PATCH] cli: terminate iteration over receiver devices when all have been found --- lib/solaar/cli/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/solaar/cli/__init__.py b/lib/solaar/cli/__init__.py index 33039056..3117ce39 100644 --- a/lib/solaar/cli/__init__.py +++ b/lib/solaar/cli/__init__.py @@ -161,9 +161,11 @@ def _find_device(receivers, name): dev = r[number] if dev: yield dev + count = r.count() else: # wired device, make a device list from it r.ping() r = [r] + count = 1 for dev in r: if ( @@ -171,6 +173,9 @@ def _find_device(receivers, name): or name in dev.name.lower() ): yield dev + count -= 1 + if not count: + break # raise Exception("no device found matching '%s'" % name)