Delete .lrc and .txt sidecar files when removing tracks from disk
Track and album delete with file removal now also cleans up associated lyrics sidecar files (.lrc synced, .txt plain) that share the same base filename as the audio file. Fixes #322
This commit is contained in:
parent
abb08efe74
commit
afc91c1397
1 changed files with 19 additions and 0 deletions
|
|
@ -15012,6 +15012,16 @@ def library_delete_track(track_id):
|
|||
os.remove(resolved)
|
||||
file_deleted = True
|
||||
logger.info(f"Deleted file from disk: {resolved}")
|
||||
# Clean up sidecar files (.lrc, .txt lyrics, cover.jpg)
|
||||
base_no_ext = os.path.splitext(resolved)[0]
|
||||
for sidecar_ext in ('.lrc', '.txt'):
|
||||
sidecar = base_no_ext + sidecar_ext
|
||||
if os.path.exists(sidecar):
|
||||
try:
|
||||
os.remove(sidecar)
|
||||
logger.info(f"Deleted sidecar file: {sidecar}")
|
||||
except Exception:
|
||||
pass
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to delete file: {e}")
|
||||
file_error = str(e)
|
||||
|
|
@ -15799,6 +15809,15 @@ def library_delete_album(album_id):
|
|||
try:
|
||||
os.remove(resolved)
|
||||
files_deleted += 1
|
||||
# Clean up sidecar files (.lrc, .txt lyrics)
|
||||
base_no_ext = os.path.splitext(resolved)[0]
|
||||
for sidecar_ext in ('.lrc', '.txt'):
|
||||
sidecar = base_no_ext + sidecar_ext
|
||||
if os.path.exists(sidecar):
|
||||
try:
|
||||
os.remove(sidecar)
|
||||
except Exception:
|
||||
pass
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to delete track file: {e}")
|
||||
files_failed += 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue