Remove DEFAULT_FOLDER handling (#23281)
This commit is contained in:
parent
94f1aade5c
commit
0326355edc
10 changed files with 20 additions and 58 deletions
|
|
@ -99,8 +99,6 @@ def find_keyboard_from_dir():
|
|||
keymap_index = len(current_path.parts) - current_path.parts.index('keymaps') - 1
|
||||
current_path = current_path.parents[keymap_index]
|
||||
|
||||
current_path = resolve_keyboard(current_path)
|
||||
|
||||
if qmk.path.is_keyboard(current_path):
|
||||
return str(current_path)
|
||||
|
||||
|
|
@ -121,7 +119,7 @@ def find_readme(keyboard):
|
|||
def keyboard_folder(keyboard):
|
||||
"""Returns the actual keyboard folder.
|
||||
|
||||
This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard.
|
||||
This checks aliases to resolve the actual path for a keyboard.
|
||||
"""
|
||||
aliases = keyboard_alias_definitions()
|
||||
|
||||
|
|
@ -131,8 +129,6 @@ def keyboard_folder(keyboard):
|
|||
if keyboard == last_keyboard:
|
||||
break
|
||||
|
||||
keyboard = resolve_keyboard(keyboard)
|
||||
|
||||
if not qmk.path.is_keyboard(keyboard):
|
||||
raise ValueError(f'Invalid keyboard: {keyboard}')
|
||||
|
||||
|
|
@ -158,7 +154,7 @@ def keyboard_aliases(keyboard):
|
|||
def keyboard_folder_or_all(keyboard):
|
||||
"""Returns the actual keyboard folder.
|
||||
|
||||
This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard.
|
||||
This checks aliases to resolve the actual path for a keyboard.
|
||||
If the supplied argument is "all", it returns an AllKeyboards object.
|
||||
"""
|
||||
if keyboard == 'all':
|
||||
|
|
@ -179,32 +175,18 @@ def keyboard_completer(prefix, action, parser, parsed_args):
|
|||
return list_keyboards()
|
||||
|
||||
|
||||
def list_keyboards(resolve_defaults=True):
|
||||
"""Returns a list of all keyboards - optionally processing any DEFAULT_FOLDER.
|
||||
def list_keyboards():
|
||||
"""Returns a list of all keyboards
|
||||
"""
|
||||
# We avoid pathlib here because this is performance critical code.
|
||||
paths = []
|
||||
for marker in ['rules.mk', 'keyboard.json']:
|
||||
kb_wildcard = os.path.join(base_path, "**", marker)
|
||||
paths += [path for path in glob(kb_wildcard, recursive=True) if os.path.sep + 'keymaps' + os.path.sep not in path]
|
||||
kb_wildcard = os.path.join(base_path, "**", 'keyboard.json')
|
||||
paths = [path for path in glob(kb_wildcard, recursive=True) if os.path.sep + 'keymaps' + os.path.sep not in path]
|
||||
|
||||
found = map(_find_name, paths)
|
||||
if resolve_defaults:
|
||||
found = map(resolve_keyboard, found)
|
||||
|
||||
return sorted(set(found))
|
||||
|
||||
|
||||
@lru_cache(maxsize=None)
|
||||
def resolve_keyboard(keyboard):
|
||||
cur_dir = Path('keyboards')
|
||||
rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
|
||||
while 'DEFAULT_FOLDER' in rules and keyboard != rules['DEFAULT_FOLDER']:
|
||||
keyboard = rules['DEFAULT_FOLDER']
|
||||
rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
|
||||
return keyboard
|
||||
|
||||
|
||||
def config_h(keyboard):
|
||||
"""Parses all the config.h files for a keyboard.
|
||||
|
||||
|
|
@ -216,7 +198,7 @@ def config_h(keyboard):
|
|||
"""
|
||||
config = {}
|
||||
cur_dir = Path('keyboards')
|
||||
keyboard = Path(resolve_keyboard(keyboard))
|
||||
keyboard = Path(keyboard)
|
||||
|
||||
for dir in keyboard.parts:
|
||||
cur_dir = cur_dir / dir
|
||||
|
|
@ -235,7 +217,7 @@ def rules_mk(keyboard):
|
|||
a dictionary representing the content of the entire rules.mk tree for a keyboard
|
||||
"""
|
||||
cur_dir = Path('keyboards')
|
||||
keyboard = Path(resolve_keyboard(keyboard))
|
||||
keyboard = Path(keyboard)
|
||||
rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
|
||||
|
||||
for i, dir in enumerate(keyboard.parts):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue