chore: merge audit batch, resolver and profiles

This commit is contained in:
Abdessamad Derraz committed 2026-11-05 13:16:03 +01:00
commit e50eeb52fd
73 files changed
+943 -281

No files matched your search

+12 -1
View File
@@ -1571,11 +1571,16 @@ def resolve_local_file(
# runs when no casing matches exactly, or when only another
# emulator's tree does: xm6typeg got XM6 Utility's synthesized
# SCSIINROM.DAT while the X68000 dump sat as scsiinrom.dat.
# Another casing in another emulator's tree proves nothing:
# reminiscence's music module reunion took skyline's
# zoneinfo/Indian/Reunion.
folded = _casefold_name_index(by_name)
for try_name in names_to_try:
for match_sha1 in folded.get(try_name.casefold(), []):
if match_sha1 in files_db and _size_ok(match_sha1):
path = files_db[match_sha1]["path"]
if _foreign_tree(path, owners):
continue
if os.path.exists(path) and path not in candidates:
candidates.append(path)
if candidates:
@@ -1659,7 +1664,13 @@ def resolve_local_file(
if ".zip" in os.path.basename(path):
try:
composite = md5_composite(path).lower()
if composite in md5_set:
# A zipped_file md5 is the member's: one member of
# another name has the same composite, and Batocera
# looks the member up by name.
if composite in md5_set and (
not zipped_file
or check_inside_zip(path, zipped_file, composite) == "ok"
):
return path, "md5_composite_exact"
except (zipfile.BadZipFile, OSError) as exc:
_warn_unreadable_archive(path, exc)