Fix CLI incorrectly following DEFAULT_FOLDER (#12529)
				
					
				
			* Attempt to sort out incorrectly following DEFAULT_FOLDER. * Fix CI checks. * qmk pyformat
This commit is contained in:
		
							parent
							
								
									0c50a9eae9
								
							
						
					
					
						commit
						b88498ba85
					
				
					 1 changed files with 12 additions and 7 deletions
				
			
		|  | @ -92,7 +92,16 @@ def list_keyboards(): | |||
|     kb_wildcard = os.path.join(base_path, "**", "rules.mk") | ||||
|     paths = [path for path in glob(kb_wildcard, recursive=True) if 'keymaps' not in path] | ||||
| 
 | ||||
|     return sorted(map(_find_name, paths)) | ||||
|     return sorted(set(map(resolve_keyboard, map(_find_name, paths)))) | ||||
| 
 | ||||
| 
 | ||||
| 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): | ||||
|  | @ -106,8 +115,7 @@ def config_h(keyboard): | |||
|     """ | ||||
|     config = {} | ||||
|     cur_dir = Path('keyboards') | ||||
|     rules = rules_mk(keyboard) | ||||
|     keyboard = Path(rules['DEFAULT_FOLDER'] if 'DEFAULT_FOLDER' in rules else keyboard) | ||||
|     keyboard = Path(resolve_keyboard(keyboard)) | ||||
| 
 | ||||
|     for dir in keyboard.parts: | ||||
|         cur_dir = cur_dir / dir | ||||
|  | @ -125,13 +133,10 @@ def rules_mk(keyboard): | |||
|     Returns: | ||||
|         a dictionary representing the content of the entire rules.mk tree for a keyboard | ||||
|     """ | ||||
|     keyboard = Path(keyboard) | ||||
|     cur_dir = Path('keyboards') | ||||
|     keyboard = Path(resolve_keyboard(keyboard)) | ||||
|     rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') | ||||
| 
 | ||||
|     if 'DEFAULT_FOLDER' in rules: | ||||
|         keyboard = Path(rules['DEFAULT_FOLDER']) | ||||
| 
 | ||||
|     for i, dir in enumerate(keyboard.parts): | ||||
|         cur_dir = cur_dir / dir | ||||
|         rules = parse_rules_mk_file(cur_dir / 'rules.mk', rules) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nick Brassel
						Nick Brassel