mirror of
https://github.com/rommapp/romm.git
synced 2026-04-23 06:54:40 +00:00
522df9d31a
Adds the libretro thumbnail repository as a first-class artwork source so region-correct box art (PAL/Europe, Japan, etc.) can be matched directly to ROM filenames, addressing rommapp/romm#3239. Implementation follows the SGDB handler pattern (artwork-only, no game metadata): MetadataSource enum entry, scan-time fetch wired into the SCAN_ARTWORK_PRIORITY loop, /search/roms integration, MatchRom dialog chip + cover selection, and a heartbeat flag. Matching is exact case-insensitive against the directory listing first (so a ROM named "(Europe)" lands on the (Europe) artwork), with a JaroWinkler fuzzy fallback at 0.8 that strips parenthetical tags from both sides. Listings are cached in Redis with a 24h TTL. `libretro_id` is persisted on the Rom model as the SHA1 hex of the matched libretro filename — stable across scans, distinct per region, indexed for lookup. Migration 0077 adds the column. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
from .flashpoint_handler import FlashpointHandler
|
|
from .gamelist_handler import GamelistHandler
|
|
from .hasheous_handler import HasheousHandler
|
|
from .hltb_handler import HLTBHandler
|
|
from .igdb_handler import IGDBHandler
|
|
from .launchbox_handler import LaunchboxHandler
|
|
from .libretro_handler import LibretroHandler
|
|
from .moby_handler import MobyGamesHandler
|
|
from .playmatch_handler import PlaymatchHandler
|
|
from .ra_handler import RAHandler
|
|
from .sgdb_handler import SGDBBaseHandler
|
|
from .ss_handler import SSHandler
|
|
from .tgdb_handler import TGDBHandler
|
|
|
|
meta_igdb_handler = IGDBHandler()
|
|
meta_moby_handler = MobyGamesHandler()
|
|
meta_ss_handler = SSHandler()
|
|
meta_sgdb_handler = SGDBBaseHandler()
|
|
meta_ra_handler = RAHandler()
|
|
meta_playmatch_handler = PlaymatchHandler()
|
|
meta_launchbox_handler = LaunchboxHandler()
|
|
meta_libretro_handler = LibretroHandler()
|
|
meta_hasheous_handler = HasheousHandler()
|
|
meta_tgdb_handler = TGDBHandler()
|
|
meta_flashpoint_handler = FlashpointHandler()
|
|
meta_gamelist_handler = GamelistHandler()
|
|
meta_hltb_handler = HLTBHandler()
|