R4: Save Tone3000 downloads with readable filenames instead of internal IDs

This commit is contained in:
2026-06-12 14:24:09 -04:00
parent 763e152d86
commit 35d2dc0893
+13 -6
View File
@@ -526,9 +526,13 @@ class Tone3000Client:
dest_dir = self._models_dir
dest_dir.mkdir(parents=True, exist_ok=True)
filename = model.filename
if not filename.endswith(".nam"):
filename += ".nam"
# Use readable name, fall back to Tone3000 filename
display_name = (model.name or model.filename or "model").strip()
# Sanitize: lowercase, replace spaces/special chars, keep .nam
safe_name = re.sub(r"[^\w\-]+", "_", display_name).strip("_").lower()
if not safe_name:
safe_name = "model"
filename = safe_name + ".nam"
dest_path = dest_dir / filename
return await self._download_file(model.download_url, dest_path, progress_callback)
@@ -542,9 +546,12 @@ class Tone3000Client:
dest_dir = self._irs_dir
dest_dir.mkdir(parents=True, exist_ok=True)
filename = ir.filename
if not filename.endswith(".wav"):
filename += ".wav"
# Use readable name, fall back to Tone3000 filename
display_name = (ir.name or ir.filename or "ir").strip()
safe_name = re.sub(r"[^\w\-]+", "_", display_name).strip("_").lower()[:64]
if not safe_name:
safe_name = "ir"
filename = safe_name + ".wav"
dest_path = dest_dir / filename
return await self._download_file(ir.download_url, dest_path, progress_callback)