mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 04:39:06 -05:00
feat: cite a folder for every handheld row
Allium, JELOS, KOLOS and MiyooCFW folders come from their own trees at the revision the installer reads. Rows with no cited folder point at RetroArch's System/BIOS setting, and a folder only Linux reads says so. KNULLI's SAMBA switch is linked, AmberELEC's roms share is named, the MinUI family says the command makes each folder, and an iPhone and iPad tile joins the handheld group.
This commit is contained in:
1 parent
e1d35c3cb4
commit
c1a942ad31
2 files changed
+34
-4
No files matched your search
@@ -91,6 +91,7 @@ class HandheldSystem:
|
||||
folder_source: str = ""
|
||||
devices: tuple[str, ...] = ()
|
||||
devices_source: str = ""
|
||||
linux_only: bool = False
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -125,7 +126,7 @@ _GROUP_KEYS = {"label", "description", "anchor", "also_runs", "tiles"}
|
||||
_ALSO_KEYS = ("setup", "summary", "uses", "runs_on", "folder")
|
||||
_TILE_KEYS = ("name", "text", "link")
|
||||
_HANDHELD_KEYS = {"page", "title", "summary", "uses", "systems"}
|
||||
_SYSTEM_KEYS = {"name", "folder", "folder_source", "devices", "devices_source"}
|
||||
_SYSTEM_KEYS = {"name", "folder", "folder_source", "devices", "devices_source", "linux_only"}
|
||||
_SOURCE = re.compile(r"https://\S+")
|
||||
_TERMINAL_KEYS = ("label", "how", "shell")
|
||||
|
||||
@@ -239,6 +240,10 @@ def _handheld_system(data: object, where: str) -> HandheldSystem:
|
||||
values[value] = (_texts(data[value], f"{where}.{value}") if value == "devices"
|
||||
else _text(data[value], f"{where}.{value}"))
|
||||
values[source] = _source(data[source], f"{where}.{source}")
|
||||
if "linux_only" in data:
|
||||
if not isinstance(data["linux_only"], bool) or "folder" not in data:
|
||||
raise GuideError(f"{where}.linux_only: expected true or false, with a folder")
|
||||
values["linux_only"] = data["linux_only"]
|
||||
return HandheldSystem(**values)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user