[CLI] Remove duplicates from search results (#22528)
This commit is contained in:
parent
7ae826476e
commit
0fcd13f552
|
@ -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…
Reference in a new issue