fix: readme and site coverage use data_dir and supplemental indexes

This commit is contained in:
Abdessamad Derraz
2026-03-31 13:58:52 +02:00
parent eb354128e2
commit 03002515fe
3 changed files with 26 additions and 11 deletions

View File

@@ -62,13 +62,13 @@ Full list with per-file details: **[https://abdess.github.io/retrobios/](https:/
| Batocera | 361/362 (99.7%) | 354 | 7 | 1 | | Batocera | 361/362 (99.7%) | 354 | 7 | 1 |
| BizHawk | 118/118 (100.0%) | 118 | 0 | 0 | | BizHawk | 118/118 (100.0%) | 118 | 0 | 0 |
| EmuDeck | 161/161 (100.0%) | 161 | 0 | 0 | | EmuDeck | 161/161 (100.0%) | 161 | 0 | 0 |
| Lakka | 443/448 (98.9%) | 443 | 0 | 5 | | Lakka | 448/448 (100.0%) | 448 | 0 | 0 |
| Recalbox | 277/346 (80.1%) | 274 | 3 | 69 | | Recalbox | 346/346 (100.0%) | 343 | 3 | 0 |
| RetroArch | 443/448 (98.9%) | 443 | 0 | 5 | | RetroArch | 448/448 (100.0%) | 448 | 0 | 0 |
| RetroBat | 339/339 (100.0%) | 335 | 4 | 0 | | RetroBat | 339/339 (100.0%) | 335 | 4 | 0 |
| RetroDECK | 1960/2006 (97.7%) | 1934 | 26 | 46 | | RetroDECK | 2006/2006 (100.0%) | 1980 | 26 | 0 |
| RetroPie | 443/448 (98.9%) | 443 | 0 | 5 | | RetroPie | 448/448 (100.0%) | 448 | 0 | 0 |
| RomM | 372/374 (99.5%) | 372 | 0 | 2 | | RomM | 374/374 (100.0%) | 374 | 0 | 0 |
## Build your own pack ## Build your own pack
@@ -130,4 +130,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
This repository provides BIOS files for personal backup and archival purposes. This repository provides BIOS files for personal backup and archival purposes.
*Auto-generated on 2026-03-30T23:36:52Z* *Auto-generated on 2026-03-31T11:57:27Z*

View File

@@ -21,9 +21,12 @@ sys.path.insert(0, os.path.dirname(__file__))
from common import list_registered_platforms, load_database, load_platform_config, write_if_changed from common import list_registered_platforms, load_database, load_platform_config, write_if_changed
from verify import verify_platform from verify import verify_platform
def compute_coverage(platform_name: str, platforms_dir: str, db: dict) -> dict: def compute_coverage(platform_name: str, platforms_dir: str, db: dict,
data_registry: dict | None = None,
supplemental_names: set[str] | None = None) -> dict:
config = load_platform_config(platform_name, platforms_dir) config = load_platform_config(platform_name, platforms_dir)
result = verify_platform(config, db) result = verify_platform(config, db, data_dir_registry=data_registry,
supplemental_names=supplemental_names)
sc = result.get("status_counts", {}) sc = result.get("status_counts", {})
ok = sc.get("ok", 0) ok = sc.get("ok", 0)
untested = sc.get("untested", 0) untested = sc.get("untested", 0)
@@ -82,10 +85,16 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
platform_names = list_registered_platforms(platforms_dir, include_archived=True) platform_names = list_registered_platforms(platforms_dir, include_archived=True)
from common import load_data_dir_registry
from cross_reference import _build_supplemental_index
data_registry = load_data_dir_registry(platforms_dir)
suppl_names = _build_supplemental_index()
coverages = {} coverages = {}
for name in platform_names: for name in platform_names:
try: try:
coverages[name] = compute_coverage(name, platforms_dir, db) coverages[name] = compute_coverage(name, platforms_dir, db,
data_registry, suppl_names)
except FileNotFoundError: except FileNotFoundError:
pass pass

View File

@@ -2054,11 +2054,17 @@ def main():
platform_names = list_registered_platforms(args.platforms_dir, include_archived=True) platform_names = list_registered_platforms(args.platforms_dir, include_archived=True)
from common import load_data_dir_registry
from cross_reference import _build_supplemental_index
data_registry = load_data_dir_registry(args.platforms_dir)
suppl_names = _build_supplemental_index()
print("Computing platform coverage...") print("Computing platform coverage...")
coverages = {} coverages = {}
for name in sorted(platform_names): for name in sorted(platform_names):
try: try:
cov = compute_coverage(name, args.platforms_dir, db) cov = compute_coverage(name, args.platforms_dir, db,
data_registry, suppl_names)
coverages[name] = cov coverages[name] = cov
print(f" {cov['platform']}: {cov['present']}/{cov['total']} ({_pct(cov['present'], cov['total'])})") print(f" {cov['platform']}: {cov['present']}/{cov['total']} ({_pct(cov['present'], cov['total'])})")
except FileNotFoundError as e: except FileNotFoundError as e: