Fix tagger and playlist to use underscore filename pattern

After the organizer was updated to use underscores in filenames,
the tagger (glob pattern "01 *") and playlist generator (pattern
"01 title.*") still used spaces and failed to find any files.
Updated both to use "01_*" / "01_title.*" patterns.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-02-17 23:34:16 +01:00
commit 67b8653b3c
2 changed files with 4 additions and 4 deletions

View file

@ -35,7 +35,7 @@ def generate_playlist(album: Album, album_dir: Path) -> Path:
for track in disc.tracks: for track in disc.tracks:
safe_title = _sanitize_filename(track.title) safe_title = _sanitize_filename(track.title)
# Audiodatei im Zielverzeichnis finden # Audiodatei im Zielverzeichnis finden
pattern = f"{track.track_number:02d} {safe_title}.*" pattern = f"{track.track_number:02d}_{safe_title}.*"
if multi_disc: if multi_disc:
search_dir = album_dir / f"CD{disc.disc_number}" search_dir = album_dir / f"CD{disc.disc_number}"
else: else:
@ -46,7 +46,7 @@ def generate_playlist(album: Album, album_dir: Path) -> Path:
filename = matches[0].name filename = matches[0].name
else: else:
# Fallback: generischer Name mit .flac # Fallback: generischer Name mit .flac
filename = f"{track.track_number:02d} {safe_title}.flac" filename = f"{track.track_number:02d}_{safe_title}.flac"
logger.warning("Datei nicht gefunden, Fallback: %s", filename) logger.warning("Datei nicht gefunden, Fallback: %s", filename)
lines.append(f"#EXTINF:0,{track.title}") lines.append(f"#EXTINF:0,{track.title}")

View file

@ -54,8 +54,8 @@ def tag_album(album: Album, album_dir: Path) -> None:
disc_dir = album_dir disc_dir = album_dir
for track in disc.tracks: for track in disc.tracks:
# Dateiname-Pattern: "01 Titel.ext" # Dateiname-Pattern: "01_Titel.ext"
pattern = f"{track.track_number:02d} *" pattern = f"{track.track_number:02d}_*"
matches = list(disc_dir.glob(pattern)) matches = list(disc_dir.glob(pattern))
if matches: if matches:
tag_file(matches[0], album, disc, track) tag_file(matches[0], album, disc, track)