mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 11:19:11 -05:00
feat: report entries no examined core opens
The export keeps every entry a platform declares. An entry the truth does not pair was still read in 1189 of 2776 cases (alias, hash, a type: directory tree, a core outside the resolved set), so absence of a pairing proves nothing. Each report now lists, under removal_candidates, the unpaired entries that no profile of the cores the platform runs answers by name, path tail, hash, directory or data directory, with the cores examined and a reason. A core the platform names without a profile, or a ROM set under a core that opens sets by name, leaves the verdict undetermined. The exports page states the count and lists the entries per platform.
This commit is contained in:
1 parent
7e0b3a08b9
commit
0b4f98ce79
6 files changed
+399
-2
No files matched your search
@@ -2294,6 +2294,26 @@ def resolve_platform_cores(
|
||||
return result
|
||||
|
||||
|
||||
def unresolved_platform_cores(config: dict, profiles: dict[str, dict]) -> set[str]:
|
||||
"""The core names a platform lists that no profile answers to.
|
||||
|
||||
resolve_platform_cores drops them without a word: ROCKNIX's `dolphin-sa`
|
||||
or Batocera's `wine` designate no profile, so nothing is known of the
|
||||
files they open. `retroarch` and `all_libretro` stand for every libretro
|
||||
profile and are never unresolved. A platform without a `cores:` list
|
||||
names no core.
|
||||
"""
|
||||
cores_config = config.get("cores")
|
||||
if not isinstance(cores_config, list):
|
||||
return set()
|
||||
index = upstream_profile_index(profiles)
|
||||
return {
|
||||
name
|
||||
for name in (str(c) for c in cores_config)
|
||||
if name not in ("retroarch", "all_libretro") and not index.get(name)
|
||||
}
|
||||
|
||||
|
||||
MANUFACTURER_PREFIXES = (
|
||||
"acorn-",
|
||||
"apple-",
|
||||
|
||||
Reference in new issue
Block a user