fix: each file in a dated session folder becomes its own song
Files directly in YYMMDD/ (e.g. 231015/take1.wav, 231015/take2.wav) all shared the same nc_folder_path, so take2 was silently merged as a new version of the take1 song instead of being a separate recording. Fix: when a file's parent == the session folder, append the file stem to make a unique virtual nc_folder_path per file. Files in subfolders (e.g. 231015/groove/take1.wav) are unaffected — they still group by folder. Applied in both nc_scan.py (manual scan) and internal.py (watcher uploads). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -120,6 +120,13 @@ async def scan_band_folder(
|
||||
song_folder = str(Path(nc_file_path).parent).rstrip("/") + "/"
|
||||
song_title = Path(nc_file_path).stem
|
||||
|
||||
# If the file sits directly inside a dated session folder (YYMMDD/file.wav),
|
||||
# give it a unique virtual folder so each file becomes its own song rather
|
||||
# than being merged as a new version of the first file in that folder.
|
||||
session_folder_path = extract_session_folder(nc_file_path)
|
||||
if session_folder_path and session_folder_path.rstrip("/") == song_folder.rstrip("/"):
|
||||
song_folder = song_folder + song_title + "/"
|
||||
|
||||
yield {"type": "progress", "message": f"Checking {Path(nc_file_path).name}…"}
|
||||
|
||||
# Fetch file metadata (etag + size) — one PROPFIND per file
|
||||
|
||||
Reference in New Issue
Block a user