From 5ac48ef70375b1a2254889be7a0e14be66ca35df Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sun, 29 Mar 2026 11:18:03 +0200 Subject: [PATCH] fix: recursive basename search in data dir fallback --- scripts/common.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/common.py b/scripts/common.py index 545f303d..c2b28130 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -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"