mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
The page-finishing pass reloaded the repository's database.json whatever --db said, so a card held only by the given collection raised KeyError. siteinputs holds the inputs generate_site was given.
33 lines
822 B
Python
33 lines
822 B
Python
"""The collection, profiles and platform files the site describes.
|
|
|
|
generate_site.py takes them as --db, --emulators-dir and --platforms-dir and
|
|
installs them here before writing a page. Every page module reads its inputs
|
|
from current(), so a run on another collection describes that collection on
|
|
every page. A module used on its own reads the repository's files.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SiteInputs:
|
|
db: Path = ROOT / "database.json"
|
|
emulators: Path = ROOT / "emulators"
|
|
platforms: Path = ROOT / "platforms"
|
|
|
|
|
|
_current = [SiteInputs()]
|
|
|
|
|
|
def current() -> SiteInputs:
|
|
return _current[0]
|
|
|
|
|
|
def use(inputs: SiteInputs) -> None:
|
|
_current[0] = inputs
|