fix #18 (core): malformed names of output files
This commit was merged in pull request #33.
This commit is contained in:
@@ -41,7 +41,18 @@ def build_filename(track, idx, extension, args):
|
|||||||
clean_filename = apply_replacement(raw_filename,
|
clean_filename = apply_replacement(raw_filename,
|
||||||
args.bad_chars,
|
args.bad_chars,
|
||||||
args.replacement_char)
|
args.replacement_char)
|
||||||
clean_filename = cleanup_good_chars(clean_filename, args.replacement_char)
|
# Split off the file extension before cleanup so trailing
|
||||||
|
# replacement chars don't leak into the name portion.
|
||||||
|
name_part, _, ext_part = clean_filename.rpartition('.')
|
||||||
|
clean_filename = cleanup_good_chars(name_part, args.replacement_char)
|
||||||
|
# Strip leading/trailing separator characters (replacement char,
|
||||||
|
# hyphen, etc.) that may result from empty fields or bad-char
|
||||||
|
# sequences adjacent to template separators.
|
||||||
|
clean_filename = clean_filename.strip(f'{args.replacement_char}-')
|
||||||
|
# Fallback: if cleanup leaves an empty name, use the track number.
|
||||||
|
if not clean_filename:
|
||||||
|
clean_filename = f"{idx:02d}"
|
||||||
|
clean_filename = f"{clean_filename}.{ext_part}"
|
||||||
else:
|
else:
|
||||||
clean_filename = raw_filename
|
clean_filename = raw_filename
|
||||||
# Warn about unsafe characters.
|
# Warn about unsafe characters.
|
||||||
|
|||||||
Reference in New Issue
Block a user