[ROMM-2492] Add html to search reults

This commit is contained in:
Georges-Antoine Assi
2025-09-29 08:28:51 -04:00
parent 08bbb92e3c
commit 6934721fa3

View File

@@ -9,6 +9,7 @@ from handler.auth.constants import Scope
from handler.database import db_rom_handler
from handler.metadata import (
meta_flashpoint_handler,
meta_hltb_handler,
meta_igdb_handler,
meta_launchbox_handler,
meta_moby_handler,
@@ -16,6 +17,7 @@ from handler.metadata import (
meta_ss_handler,
)
from handler.metadata.flashpoint_handler import FlashpointRom
from handler.metadata.hltb_handler import HLTBRom
from handler.metadata.igdb_handler import IGDBRom
from handler.metadata.launchbox_handler import LaunchboxRom
from handler.metadata.moby_handler import MobyGamesRom
@@ -90,6 +92,7 @@ async def search_rom(
ss_matched_roms: list[SSRom] = []
flashpoint_matched_roms: list[FlashpointRom] = []
launchbox_matched_roms: list[LaunchboxRom] = []
hltb_matched_roms: list[HLTBRom] = []
if search_by.lower() == "id":
try:
@@ -115,6 +118,7 @@ async def search_rom(
ss_matched_roms,
flashpoint_matched_roms,
launchbox_matched_roms,
hltb_matched_roms,
) = await asyncio.gather(
meta_igdb_handler.get_matched_roms_by_name(
search_term, get_main_platform_igdb_id(rom.platform)
@@ -129,6 +133,7 @@ async def search_rom(
meta_launchbox_handler.get_matched_roms_by_name(
search_term, rom.platform.slug
),
meta_hltb_handler.get_matched_roms_by_name(search_term, rom.platform.slug),
)
merged_dict: dict[str, dict] = {}
@@ -208,6 +213,21 @@ async def search_rom(
**merged_dict.get(launchbox_name, {}),
}
for hltb_rom in hltb_matched_roms:
if hltb_rom["hltb_id"]:
hltb_name = meta_hltb_handler.normalize_search_term(
hltb_rom.get("name", ""),
remove_articles=False,
)
merged_dict[hltb_name] = {
**hltb_rom,
"is_identified": True,
"is_unidentified": False,
"platform_id": rom.platform_id,
"hltb_url_cover": hltb_rom.pop("url_cover", ""),
**merged_dict.get(hltb_name, {}),
}
async def get_sgdb_rom(name: str) -> tuple[str, SGDBRom]:
return name, await meta_sgdb_handler.get_details_by_names([name])