summaryrefslogtreecommitdiffstats
path: root/lib/python/qmk/keyboard.py
diff options
context:
space:
mode:
authorlokher <lokher@gmail.com>2023-04-26 16:32:15 +0800
committerlokher <lokher@gmail.com>2023-04-26 16:32:15 +0800
commite4f4ceaf3f2e3d25fb282273a81f9b58790fc427 (patch)
treec0a257eab0ffe5238fdf2c04882e8ee1fe8fc46e /lib/python/qmk/keyboard.py
parent103badc87cb50db1ff3851c84331e86ba78fb681 (diff)
merge upstream 713427c
Diffstat (limited to 'lib/python/qmk/keyboard.py')
-rw-r--r--lib/python/qmk/keyboard.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py
index 6ddbba8fa5..0c980faf2b 100644
--- a/lib/python/qmk/keyboard.py
+++ b/lib/python/qmk/keyboard.py
@@ -98,14 +98,18 @@ def keyboard_completer(prefix, action, parser, parsed_args):
return list_keyboards()
-def list_keyboards():
- """Returns a list of all keyboards.
+def list_keyboards(resolve_defaults=True):
+ """Returns a list of all keyboards - optionally processing any DEFAULT_FOLDER.
"""
# We avoid pathlib here because this is performance critical code.
kb_wildcard = os.path.join(base_path, "**", "rules.mk")
paths = [path for path in glob(kb_wildcard, recursive=True) if os.path.sep + 'keymaps' + os.path.sep not in path]
- return sorted(set(map(resolve_keyboard, map(_find_name, paths))))
+ found = map(_find_name, paths)
+ if resolve_defaults:
+ found = map(resolve_keyboard, found)
+
+ return sorted(set(found))
def resolve_keyboard(keyboard):