Overview
TheRenamer class provides static methods for converting between audio file metadata and filenames using customizable patterns. It supports bidirectional conversion: generating filenames from tags and extracting tags from filenames.
Import
Methods
sanitize_filename
Removes invalid characters from filenames to ensure cross-platform compatibility.The filename string to sanitize
/ \ : * ? " < > |) replaced by underscores
Example:
tag_to_filename
Generates a filename based on a pattern template and metadata object.Template pattern with placeholders for metadata fields
Metadata object containing tag information
None if metadata is invalid
Supported Pattern Placeholders
| Placeholder | Metadata Field | Fallback |
|---|---|---|
%artist% | artist | ”Unknown Artist” |
%title% | title | ”Unknown Title” |
%album% | album | ”Unknown Album” |
%year% | year | "" |
%track% | track_number | "" |
%genre% | genre | "" |
%albumartist% | album_artist | "" |
%bpm% | bpm | "" |
%key% | initial_key | "" |
filename_to_tag
Parses a filename using a pattern template to extract tag values.Template pattern matching the filename structure
The filename to parse (without extension)
None if parsing fails
Example:
Notes
- All methods are static and do not require instantiation
- Pattern matching uses non-greedy regex to handle multiple consecutive placeholders
- Invalid characters are automatically sanitized in generated filenames
- Missing metadata fields use fallback values (empty string or “Unknown”)
