~ruther/qmk_firmware

5642bd18077061fa21f4850124a9f4eeb8f23ca3 — Nick Brassel 2 years ago 363bfdb
Fix up `qmk find` when not specifying filters. (#21059)

2 files changed, 5 insertions(+), 1 deletions(-)

M lib/python/qmk/cli/find.py
M lib/python/qmk/search.py
M lib/python/qmk/cli/find.py => lib/python/qmk/cli/find.py +4 -0
@@ 19,6 19,10 @@ from qmk.search import search_keymap_targets
def find(cli):
    """Search through all keyboards and keymaps for a given search criteria.
    """

    if len(cli.args.filter) == 0 and len(cli.args.print) > 0:
        cli.log.warning('No filters supplied -- keymaps not parsed, unable to print requested values.')

    targets = search_keymap_targets(cli.args.keymap, cli.args.filter, cli.args.print)
    for keyboard, keymap, print_vals in targets:
        print(f'{keyboard}:{keymap}')

M lib/python/qmk/search.py => lib/python/qmk/search.py +1 -1
@@ 61,7 61,7 @@ def search_keymap_targets(keymap='default', filters=[], print_vals=[]):
            target_list = [(kb, keymap) for kb in filter(lambda kb: kb is not None, pool.starmap(_keymap_exists, [(kb, keymap) for kb in qmk.keyboard.list_keyboards()]))]

        if len(filters) == 0:
            targets = target_list
            targets = [(kb, km, {}) for kb, km in target_list]
        else:
            cli.log.info('Parsing data for all matching keyboard/keymap combinations...')
            valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in pool.starmap(_load_keymap_info, target_list)]

Do not follow this link