forked from mirrors/qmk_userspace
		
	[CLI] Remove duplicates from search results (#22528)
This commit is contained in:
		
					parent
					
						
							
								7ae826476e
							
						
					
				
			
			
				commit
				
					
						0fcd13f552
					
				
			
		
					 2 changed files with 13 additions and 2 deletions
				
			
		| 
						 | 
					@ -31,6 +31,17 @@ class BuildTarget:
 | 
				
			||||||
    def __repr__(self):
 | 
					    def __repr__(self):
 | 
				
			||||||
        return f'BuildTarget(keyboard={self.keyboard}, keymap={self.keymap})'
 | 
					        return f'BuildTarget(keyboard={self.keyboard}, keymap={self.keymap})'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __eq__(self, __value: object) -> bool:
 | 
				
			||||||
 | 
					        if not isinstance(__value, BuildTarget):
 | 
				
			||||||
 | 
					            return False
 | 
				
			||||||
 | 
					        return self.__repr__() == __value.__repr__()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __ne__(self, __value: object) -> bool:
 | 
				
			||||||
 | 
					        return not self.__eq__(__value)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def __hash__(self) -> int:
 | 
				
			||||||
 | 
					        return self.__repr__().__hash__()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def configure(self, parallel: int = None, clean: bool = None, compiledb: bool = None) -> None:
 | 
					    def configure(self, parallel: int = None, clean: bool = None, compiledb: bool = None) -> None:
 | 
				
			||||||
        if parallel is not None:
 | 
					        if parallel is not None:
 | 
				
			||||||
            self._parallel = parallel
 | 
					            self._parallel = parallel
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -122,7 +122,7 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    if len(filters) == 0:
 | 
					    if len(filters) == 0:
 | 
				
			||||||
        cli.log.info('Preparing target list...')
 | 
					        cli.log.info('Preparing target list...')
 | 
				
			||||||
        targets = list(parallel_map(_construct_build_target_kb_km, target_list))
 | 
					        targets = list(set(parallel_map(_construct_build_target_kb_km, target_list)))
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        cli.log.info('Parsing data for all matching keyboard/keymap combinations...')
 | 
					        cli.log.info('Parsing data for all matching keyboard/keymap combinations...')
 | 
				
			||||||
        valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in parallel_map(_load_keymap_info, target_list)]
 | 
					        valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in parallel_map(_load_keymap_info, target_list)]
 | 
				
			||||||
| 
						 | 
					@ -183,7 +183,7 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cli.log.info('Preparing target list...')
 | 
					        cli.log.info('Preparing target list...')
 | 
				
			||||||
        valid_keymaps = [(e[0], e[1], e[2].to_dict() if isinstance(e[2], Dotty) else e[2]) for e in valid_keymaps]  # need to convert dotty_dict back to dict because it doesn't survive parallelisation
 | 
					        valid_keymaps = [(e[0], e[1], e[2].to_dict() if isinstance(e[2], Dotty) else e[2]) for e in valid_keymaps]  # need to convert dotty_dict back to dict because it doesn't survive parallelisation
 | 
				
			||||||
        targets = list(parallel_map(_construct_build_target_kb_km_json, list(valid_keymaps)))
 | 
					        targets = list(set(parallel_map(_construct_build_target_kb_km_json, list(valid_keymaps))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return targets
 | 
					    return targets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue