Skip to content

Commit

Permalink
misc: improved manual match speed
Browse files Browse the repository at this point in the history
  • Loading branch information
zurdi15 committed Jan 3, 2025
1 parent 08de3b3 commit 5f79d1c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
26 changes: 15 additions & 11 deletions backend/endpoints/search.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import asyncio

import emoji
from decorators.auth import protected_route
from endpoints.responses.search import SearchCoverSchema, SearchRomSchema
Expand Down Expand Up @@ -66,14 +68,12 @@ async def search_rom(
log.info(emoji.emojize(f":video_game: {rom.platform_slug}: {rom.file_name}"))
if search_by.lower() == "id":
try:
igdb_matched_roms = await meta_igdb_handler.get_matched_roms_by_id(
int(search_term)
)
moby_matched_roms = await meta_moby_handler.get_matched_roms_by_id(
int(search_term)
)
ss_matched_roms = await meta_ss_handler.get_matched_roms_by_id(
int(search_term)
igdb_task = meta_igdb_handler.get_matched_roms_by_id(int(search_term))
moby_task = meta_moby_handler.get_matched_roms_by_id(int(search_term))
ss_task = meta_ss_handler.get_matched_roms_by_id(int(search_term))

igdb_matched_roms, moby_matched_roms, ss_matched_roms = (
await asyncio.gather(igdb_task, moby_task, ss_task)
)
except ValueError as exc:
log.error(f"Search error: invalid ID '{search_term}'")
Expand All @@ -82,16 +82,20 @@ async def search_rom(
detail=f"Tried searching by ID, but '{search_term}' is not a valid ID",
) from exc
elif search_by.lower() == "name":
igdb_matched_roms = await meta_igdb_handler.get_matched_roms_by_name(
igdb_task = meta_igdb_handler.get_matched_roms_by_name(
search_term, (await _get_main_platform_igdb_id(rom.platform))
)
moby_matched_roms = await meta_moby_handler.get_matched_roms_by_name(
moby_task = meta_moby_handler.get_matched_roms_by_name(
search_term, rom.platform.moby_id
)
ss_matched_roms = await meta_ss_handler.get_matched_roms_by_name(
ss_task = meta_ss_handler.get_matched_roms_by_name(
search_term, rom.platform.ss_id
)

igdb_matched_roms, moby_matched_roms, ss_matched_roms = await asyncio.gather(
igdb_task, moby_task, ss_task
)

merged_dict: dict[str, dict] = {}

for item in igdb_matched_roms:
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/components/common/Game/Dialog/MatchRom.vue
Original file line number Diff line number Diff line change
Expand Up @@ -146,21 +146,21 @@ function showSources(matchedRom: SearchRomSchema) {
showSelectSource.value = true;
selectedMatchRom.value = matchedRom;
sources.value = [];
if (matchedRom.igdb_url_cover) {
if (matchedRom.igdb_url_cover || matchedRom.igdb_id) {
sources.value.push({
url_cover: matchedRom.igdb_url_cover,
name: "IGDB",
logo_path: "/assets/scrappers/igdb.png",
});
}
if (matchedRom.moby_url_cover) {
if (matchedRom.moby_url_cover || matchedRom.moby_id) {
sources.value.push({
url_cover: matchedRom.moby_url_cover,
name: "Mobygames",
logo_path: "/assets/scrappers/moby.png",
});
}
if (matchedRom.ss_url_cover) {
if (matchedRom.ss_url_cover || matchedRom.ss_id) {
sources.value.push({
url_cover: matchedRom.ss_url_cover,
name: "Screenscraper",
Expand Down

0 comments on commit 5f79d1c

Please sign in to comment.