From 43866637091f1a46274b8ff469c3c2ec3de6ce56 Mon Sep 17 00:00:00 2001 From: Daniel Johnson Date: Sat, 20 Apr 2024 10:02:54 -0400 Subject: [PATCH] Expand runner search to search runner human names --- lutris/search.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lutris/search.py b/lutris/search.py index e2bc19801..980aa2289 100644 --- a/lutris/search.py +++ b/lutris/search.py @@ -8,6 +8,7 @@ from lutris.database.categories import ( get_uncategorized_game_ids, normalized_category_names, ) +from lutris.runners import get_runner_human_name from lutris.runners.runner import Runner from lutris.services import SERVICES from lutris.util.strings import parse_playtime_parts, strip_accents @@ -372,12 +373,14 @@ class GameSearch(BaseSearch): def match_service(db_game): game_service = db_game.get("service") - if game_service: - if game_service.casefold() == service_name: - return True + if not game_service: + return False - service = SERVICES.get(game_service) - return service and service_name == service.name.casefold() + if game_service.casefold() == service_name: + return True + + service = SERVICES.get(game_service) + return service and service.name.casefold() == service_name return match_service @@ -386,7 +389,15 @@ class GameSearch(BaseSearch): def match_runner(db_game): game_runner = db_game.get("runner") - return game_runner and game_runner.casefold() == runner_name + + if not game_runner: + return False + + if game_runner.casefold() == runner_name: + return True + + runner_human_name = get_runner_human_name(game_runner) + return runner_human_name.casefold() == runner_name return match_runner