feat: card computers and retrooz folder in guides

This commit is contained in:
Abdessamad Derraz committed 2026-10-24 00:54:00 +02:00
1 parent fe34484408
commit b12c0af4b8
2 files changed
+20 -4

No files matched your search

+10
View File
@@ -10,6 +10,7 @@
# `{folders}` in it is the folder list of the page.
# `runs_on` names the hardware in the project's own words, cited beside it.
# `terminal` is how this system opens a terminal, from its own documentation.
# `card_run` names the computers that open the device's card, when not all do.
# `lead` comes before the folder table, `finish` closes the guide.
# `logo_owner` and `logo_licence` credit the logo the registry links: it is
# shown only to name the platform, with the licence of the repository the
@@ -214,7 +215,13 @@ handheld_guide:
folder_source: https://github.com/game-de-it/plumOS-XU20V32/blob/main/docs/developer/storage-and-updates.md
devices: [MagicX XU20 V32]
devices_source: https://github.com/game-de-it/plumOS-XU20V32
# RetroOZ publishes no build source. Its wiki keeps games under /roms and
# sends BIOS questions to the ArkOS wiki, whose folder is bios in roms. The
# 0.60 image sets system_directory "/roms/bios" (retroarch32/retroarch.cfg:3046).
# Written as the device path: no RetroOZ page names the card's parts.
- name: RetroOZ
folder: '`/roms/bios`, as the device names it'
folder_source: https://github.com/southoz/RetroOZ/wiki/Home/4ce4fafb78d647d422e9e468d5bd9cbc63dbe3ea
devices: [OGS, OGA, RGB10Max, RGB10Max2]
devices_source: https://github.com/southoz/RetroOZ/wiki
- name: UnofficialOS
@@ -618,6 +625,9 @@ guides:
# is the network folder above.
terminal: >-
Press **F4** in the game menu for a terminal. Paste the line. Press Enter.
# The BIOS folder is on the card's Linux partition (pack_manual below):
# from a computer, only Linux opens it.
card_run: [linux]
notes:
- >-
Install with `--platform retropie`, not RetroArch's files. The command does not run on
+10 -4
View File
@@ -41,7 +41,9 @@ class Guide:
README inside the pack. `logo_owner` and `logo_licence` credit the
logo the registry links. `runs_on` names the hardware, in the project's
own words, for its tile and its row. `terminal` replaces the shared
"On the device" text with how this system opens a terminal. `lead` comes
"On the device" text with how this system opens a terminal. `card_run`
names the computers that can open the BIOS folder on the device's card,
when not every one can. `lead` comes
before the folder table, `finish` closes the guide. `{folders}` in
`pack_manual` is the folder list of the page, so the README and the page
cannot name two folders for one device.
@@ -66,6 +68,7 @@ class Guide:
terminal: str = ""
lead: str = ""
finish: str = ""
card_run: tuple[str, ...] = ()
@dataclass(frozen=True)
@@ -180,10 +183,13 @@ def _guide(name: str, data: object, extract_to: str, terminals: dict) -> Guide:
if missing:
raise GuideError(f"{where}: missing {', '.join(missing)}")
run = _texts(data["run"], f"{where}.run")
unknown_tabs = [key for key in run if key not in terminals]
if unknown_tabs:
raise GuideError(f"{where}.run: no terminal named {', '.join(unknown_tabs)}")
card_run = _texts(data["card_run"], f"{where}.card_run") if "card_run" in data else ()
for key, tabs in (("run", run), ("card_run", card_run)):
unknown_tabs = [tab for tab in tabs if tab not in terminals]
if unknown_tabs:
raise GuideError(f"{where}.{key}: no terminal named {', '.join(unknown_tabs)}")
values: dict = {
"card_run": card_run,
"summary": _text(data["summary"], f"{where}.summary"),
"folders": _folder_rows(data["folders"], extract_to, f"{where}.folders"),
"run": run,