Fix Library Reorganize producing (_) in paths when year is empty
_sanitize_context_values passed empty strings through _sanitize_filename which converts '' to '_' (empty-name fallback). Template $album ($year) became Album (_) instead of Album () which the cleanup regex couldn't match. Now preserves empty strings so the existing () cleanup works.
This commit is contained in:
parent
11b1222c90
commit
ade189fa38
1 changed files with 6 additions and 2 deletions
|
|
@ -58,11 +58,15 @@ def _sanitize_filename(filename: str) -> str:
|
||||||
|
|
||||||
|
|
||||||
def _sanitize_context_values(context: dict) -> dict:
|
def _sanitize_context_values(context: dict) -> dict:
|
||||||
"""Sanitize all string values for path safety."""
|
"""Sanitize all string values for path safety.
|
||||||
|
|
||||||
|
Empty strings are preserved so that template cleanup regexes can
|
||||||
|
remove surrounding decorators (e.g. ``($year)`` → ``()`` → removed).
|
||||||
|
"""
|
||||||
sanitized = {}
|
sanitized = {}
|
||||||
for key, value in context.items():
|
for key, value in context.items():
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
sanitized[key] = _sanitize_filename(value)
|
sanitized[key] = _sanitize_filename(value) if value else ''
|
||||||
else:
|
else:
|
||||||
sanitized[key] = value
|
sanitized[key] = value
|
||||||
return sanitized
|
return sanitized
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue