mirror of
https://github.com/Abdess/retrobios.git
synced 2026-06-20 10:42:48 +00:00
fix: recursive basename search in data dir fallback
This commit is contained in:
parent
44145d41cd
commit
5ac48ef703
1 changed files with 10 additions and 6 deletions
|
|
@ -458,15 +458,19 @@ def resolve_local_file(
|
|||
if not cache_dir or not os.path.isdir(cache_dir):
|
||||
continue
|
||||
for try_name in names_to_try:
|
||||
# Exact relative path
|
||||
candidate = os.path.join(cache_dir, try_name)
|
||||
if os.path.isfile(candidate):
|
||||
return candidate, "data_dir"
|
||||
if "/" in try_name:
|
||||
basename_candidate = os.path.join(
|
||||
cache_dir, try_name.rsplit("/", 1)[-1],
|
||||
)
|
||||
if os.path.isfile(basename_candidate):
|
||||
return basename_candidate, "data_dir"
|
||||
# Basename walk: find file anywhere in cache tree
|
||||
basename_targets = {
|
||||
(n.rsplit("/", 1)[-1] if "/" in n else n)
|
||||
for n in names_to_try
|
||||
}
|
||||
for root, _dirs, fnames in os.walk(cache_dir):
|
||||
for fn in fnames:
|
||||
if fn in basename_targets:
|
||||
return os.path.join(root, fn), "data_dir"
|
||||
|
||||
return None, "not_found"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue