diff --git a/protondb/__init__.py b/protondb/__init__.py index e66f35e..c17f4de 100644 --- a/protondb/__init__.py +++ b/protondb/__init__.py @@ -5,6 +5,7 @@ import re from algoliasearch.search.client import SearchClientSync, SearchConfig from database.helpers import ConfigurationHelper +from database.models import GameAlias def _call_algoliasearch(search_name:str): config = SearchConfig(ConfigurationHelper().getValue('proton_db_api_id'), @@ -30,8 +31,14 @@ def _is_name_match(name:str, search_name:str) -> bool: normalized_search_name = re.sub("[^a-z0-9]", "", search_name.lower()) return normalized_game_name.find(normalized_search_name.lower()) >= 0 +def _apply_game_aliases(search_name:str) -> str: + for alias in GameAlias.query.all(): + search_name = search_name.replace(alias.alias, alias.name) + return search_name + def searhProtonDb(search_name:str): results = [] + search_name = _apply_game_aliases(search_name) responses = _call_algoliasearch(search_name) for hit in responses.model_dump().get('hits'): id = hit.get('object_id') diff --git a/webapp/templates/protondb.html b/webapp/templates/protondb.html index 812e4ea..35620d0 100644 --- a/webapp/templates/protondb.html +++ b/webapp/templates/protondb.html @@ -31,8 +31,9 @@ -
Si vous créer un *game alias* **GTA > Grand Theft Auto** alors si un utilisateur rentre la commande **!protondb - GTA 5** cela fera une recherche sur **Grand Theft Auto 5**.
+Si vous créer un alias GTA : Grand Theft Auto alors si un utilisateur rentre la commande + !protondb GTA 5 cela fera une recherche sur Grand Theft Auto 5. +