mirror of
https://github.com/rommapp/romm.git
synced 2026-07-01 00:05:58 +00:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
from handler import igdbh
|
|
from utils import fs
|
|
from models.platform import Platform
|
|
from models.rom import Rom
|
|
|
|
|
|
def scan_platform(p_slug: str) -> Platform:
|
|
"""Get platform details from IGDB if possible
|
|
|
|
Args:
|
|
p_slug: short name of the platform
|
|
Returns
|
|
Platform object
|
|
"""
|
|
platform_attrs: dict = igdbh.get_platform_details(p_slug)
|
|
platform_attrs['n_roms'] = fs.get_roms(p_slug, True, only_amount=True)
|
|
platform = Platform(**platform_attrs)
|
|
return platform
|
|
|
|
|
|
def scan_rom(platform: Platform, rom: dict, r_igbd_id_search: str = '', overwrite: bool = False) -> None:
|
|
r_igdb_id, file_name_no_tags, r_slug, r_name, summary, url_cover = igdbh.get_rom_details(rom['file_name'], platform.igdb_id, r_igbd_id_search)
|
|
path_cover_s, path_cover_l, has_cover = fs.get_cover_details(overwrite, platform.slug, rom['file_name'], url_cover)
|
|
rom['file_name_no_tags'] = file_name_no_tags
|
|
rom['r_igdb_id'] = r_igdb_id
|
|
rom['p_igdb_id'] = platform.igdb_id
|
|
rom['r_slug'] = r_slug
|
|
rom['p_slug'] = platform.slug
|
|
rom['name'] = r_name
|
|
rom['summary'] = summary
|
|
rom['path_cover_s'] = path_cover_s
|
|
rom['path_cover_l'] = path_cover_l
|
|
rom['has_cover'] = has_cover
|
|
rom = Rom(**rom)
|
|
return rom
|