diff options
author | Sergey Vlasov <sigprof@gmail.com> | 2023-11-19 00:26:00 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-19 08:26:00 +1100 |
commit | 62cca5c43a63e694da4596dc41d1251f9c530198 (patch) | |
tree | 70de38e164b5fba397ac64be4fe859a06735f4d1 | |
parent | bf3a88ab57dfd40d22519807f081b2f0acfa2bbb (diff) |
`qmk find`: Fix failure with multiple filters (#22497)
When multiple `-f FILTER` options were specified, `qmk find` did not
return anything at all instead of printing the list of entries that
matched all of the specified filters.
The problem was that the statement in `_filter_keymap_targets()` that
filled `targets` had a wrong indent and therefore was executed for every
filter instead of only once after applying all filters, and
`valid_keymaps` was actually an iterator and therefore could be used
only once. Moving the statement outside of the loop fixes the problem.
-rw-r--r-- | lib/python/qmk/search.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index 301d69c6c2..1140abe69d 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -172,7 +172,7 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str cli.log.warning(f'Unrecognized filter expression: {filter_expr}') continue - targets = [KeyboardKeymapBuildTarget(keyboard=e[0], keymap=e[1], json=e[2]) for e in valid_keymaps] + targets = [KeyboardKeymapBuildTarget(keyboard=e[0], keymap=e[1], json=e[2]) for e in valid_keymaps] return targets |