diff options
| author | QMK Bot | 2025-11-27 14:37:29 +0100 |
|---|---|---|
| committer | QMK Bot | 2025-11-27 14:37:29 +0100 |
| commit | 9acd127cc1318d761aac76a806189fadeaaa247a (patch) | |
| tree | af6649c0034b51d0595855cbb692256ae17d97dd /lib/python/qmk/keyboard.py | |
| parent | 9ab8e4cd5a9d21f45c9f68c718c7c31765e0a321 (diff) | |
| parent | 9c2ca00074784dbee27b459d71cfc8e75f47b976 (diff) | |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'lib/python/qmk/keyboard.py')
| -rw-r--r-- | lib/python/qmk/keyboard.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 254dc62309..e8534492c9 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -175,8 +175,9 @@ def keyboard_completer(prefix, action, parser, parsed_args): return list_keyboards() +@lru_cache(maxsize=None) def list_keyboards(): - """Returns a list of all keyboards + """Returns a list of all keyboards. """ # We avoid pathlib here because this is performance critical code. kb_wildcard = os.path.join(base_path, "**", 'keyboard.json') @@ -184,6 +185,9 @@ def list_keyboards(): found = map(_find_name, paths) + # Convert to posix paths for consistency + found = map(lambda x: str(Path(x).as_posix()), found) + return sorted(set(found)) |