added support for 'track-number' placeholder

This commit is contained in:
Mr. Pixel Cat 2024-01-14 14:28:18 +01:00
parent 6a23b575b1
commit 2c510f37ed
2 changed files with 9 additions and 3 deletions

View file

@ -131,7 +131,7 @@ def main():
help=show_default(
"Поддерживает следующие заполнители:"
" #number, #artist, #album-artist, #title,"
" #album, #year, #artist-id, #album-id, #track-id"
" #album, #year, #artist-id, #album-id, #track-id, #track-number"
),
)
@ -237,9 +237,14 @@ def main():
print(f"Треков: {len(result_tracks)}")
covers_cache: dict[str, bytes] = {}
track_number = 0
# track number should be padded to an appropriate string width with zeroes, e.g:
# up to 99 tracks in total - 01, 02, ...; up to 999 tracks - 001, 002, ...; etc.
track_number_pad = len(str(len(result_tracks))) # get max track number width
for track in result_tracks:
track_number += 1
save_path = args.dir / core.prepare_track_path(
args.path_pattern, track, args.unsafe_path
args.path_pattern, track, args.unsafe_path, str(track_number).zfill(track_number_pad)
)
if args.skip_existing and save_path.is_file():
continue

View file

@ -19,7 +19,7 @@ DEFAULT_COVER_RESOLUTION = 400
def prepare_track_path(
path_pattern: Path, track: BasicTrackInfo, unsafe_path: bool = False
path_pattern: Path, track: BasicTrackInfo, unsafe_path: bool = False, track_number_str: str = ""
) -> Path:
path_str = str(path_pattern)
album = track.album
@ -29,6 +29,7 @@ def prepare_track_path(
"#artist-id": artist.name,
"#album-id": album.id,
"#track-id": track.id,
"#track-number": track_number_str,
"#number": track.number,
"#artist": artist.name,
"#title": track.title,