mirror of
https://github.com/rommapp/romm.git
synced 2026-06-28 06:46:00 +00:00
Add playmatch as explicit metadata source
This commit is contained in:
@@ -159,6 +159,8 @@ async def metadata_heartbeat(source: str) -> bool:
|
||||
return await meta_launchbox_handler.heartbeat()
|
||||
case MetadataSource.HASHEOUS:
|
||||
return await meta_hasheous_handler.heartbeat()
|
||||
case MetadataSource.PLAYMATCH:
|
||||
return await meta_playmatch_handler.heartbeat()
|
||||
case MetadataSource.TGDB:
|
||||
return await meta_tgdb_handler.heartbeat()
|
||||
case MetadataSource.SGDB:
|
||||
|
||||
@@ -49,13 +49,6 @@ PLAYMATCH_LOOKUP_ROM_ATTRS: frozenset[str] = frozenset(
|
||||
{"igdb_id", "moby_id", "ss_id", "launchbox_id", "sgdb_id"}
|
||||
)
|
||||
|
||||
# MetadataSource values (StrEnum) for which Playmatch can return ids. Typed as
|
||||
# strings so this module stays free of scan_handler imports. EmuReady and
|
||||
# OpenVGDB are in Playmatch's enum but have no RomM counterpart yet.
|
||||
PLAYMATCH_SUPPORTED_SOURCES: frozenset[str] = frozenset(
|
||||
{"igdb", "moby", "ss", "launchbox", "sgdb"}
|
||||
)
|
||||
|
||||
|
||||
class GameMatchType(str, Enum):
|
||||
SHA256 = "SHA256"
|
||||
|
||||
@@ -34,10 +34,7 @@ from handler.metadata.launchbox_handler.platforms import LAUNCHBOX_PLATFORM_LIST
|
||||
from handler.metadata.launchbox_handler.types import LaunchboxRom
|
||||
from handler.metadata.libretro_handler import LIBRETRO_PLATFORM_LIST, LibretroRom
|
||||
from handler.metadata.moby_handler import MOBYGAMES_PLATFORM_LIST, MobyGamesRom
|
||||
from handler.metadata.playmatch_handler import (
|
||||
PLAYMATCH_SUPPORTED_SOURCES,
|
||||
PlaymatchRomMatch,
|
||||
)
|
||||
from handler.metadata.playmatch_handler import PlaymatchRomMatch
|
||||
from handler.metadata.ra_handler import RA_PLATFORM_LIST, RAGameRom
|
||||
from handler.metadata.sgdb_handler import SGDBRom
|
||||
from handler.metadata.ss_handler import SCREENSAVER_PLATFORM_LIST, SSRom
|
||||
@@ -78,6 +75,7 @@ class MetadataSource(enum.StrEnum):
|
||||
HLTB = "hltb" # HowLongToBeat
|
||||
GAMELIST = "gamelist" # ES-DE gamelist.xml
|
||||
LIBRETRO = "libretro" # Libretro thumbnails
|
||||
PLAYMATCH = "playmatch" # Playmatch
|
||||
|
||||
|
||||
def get_main_platform_igdb_id(platform: Platform):
|
||||
@@ -375,9 +373,7 @@ async def scan_rom(
|
||||
async def fetch_playmatch_hash_match() -> PlaymatchRomMatch:
|
||||
if (
|
||||
meta_playmatch_handler.is_enabled()
|
||||
and any(
|
||||
source in metadata_sources for source in PLAYMATCH_SUPPORTED_SOURCES
|
||||
)
|
||||
and MetadataSource.PLAYMATCH in metadata_sources
|
||||
and (
|
||||
newly_added
|
||||
or scan_type == ScanType.COMPLETE
|
||||
|
||||
@@ -91,9 +91,7 @@ export default defineStore("heartbeat", {
|
||||
getAllMetadataOptions(): MetadataOption[] {
|
||||
return [
|
||||
{
|
||||
name: this.value.METADATA_SOURCES?.PLAYMATCH_API_ENABLED
|
||||
? "IGDB + Playmatch"
|
||||
: "IGDB",
|
||||
name: "IGDB",
|
||||
value: "igdb",
|
||||
logo_path: "/assets/scrappers/igdb.png",
|
||||
disabled: !this.value.METADATA_SOURCES?.IGDB_API_ENABLED
|
||||
@@ -108,6 +106,14 @@ export default defineStore("heartbeat", {
|
||||
? i18n.global.t("scan.disabled-by-admin")
|
||||
: "",
|
||||
},
|
||||
{
|
||||
name: "Playmatch",
|
||||
value: "playmatch",
|
||||
logo_path: "/assets/scrappers/playmatch.png",
|
||||
disabled: !this.value.METADATA_SOURCES?.PLAYMATCH_API_ENABLED
|
||||
? i18n.global.t("scan.disabled-by-admin")
|
||||
: "",
|
||||
},
|
||||
{
|
||||
name: "Screenscraper",
|
||||
value: "ss",
|
||||
|
||||
Reference in New Issue
Block a user