Rename music files and album directories automatically
Project description
flacfixer
A program to automatically manage the filenames of your music directory.
Install
git clone https://git.sr.ht/~rensoliemans/flacfixer
pip install .
Or, if you'd like to run linters,
pip install .[dev]
Or, if you want an editable install,
pip install -e .
Run
$ flacfixer --help
usage: flacfixer [-h] (-a | -f) [-n] [-r RECURSE_LEVELS] [-v]
Fix filenames in my music dir
options:
-h, --help show this help message and exit
-a, --albums Fixes album names (directories) in PWD
-f, --filenames Fixes filenames in PWD
-n, --dry-run Perform dry run and output what would be changed
-r RECURSE_LEVELS, --recurse-levels RECURSE_LEVELS
Levels to recurse into. Defaults to 0, current level
-v, --verbose Be verbose. Pass multiple times to increase verbosity
This is specific to my music library and preferences:
Filenames
flacfixer -f
changes the filenames of music files. Only flac
is
currently supported. The target is {tracknumber} - {title}.flac
,
where tracknumber
always has length 2
. tracknumber
and title
are extracted from metadata.
Example: 01 - Rosalyn.flac
Albums
flacfixer -a
changes the directory names into the following format:
{album name} [{year}]
. Since a directory itself can't have any
metadata, it attempts to parse the title and year from the current
directory format. See
test_album_fixer.py.
Example: Tripping with Nils Frahm [2020]
Contributions
Code style
This project uses black,
ruff and
pre-commit. They are all installed when you
do pip install -e .[dev]
.
Install pre-commit
hooks with
pre-commit install
make
commands:
-
make lint
: executesblack
andruff
. This is also more or less whatpre-commit
does. -
make analyse
:make lint
andmypy
-
make test
: unittests -
make check
:make analyse
andmake test
(everything)
Contributing
I'm new to mailing lists with git, but please send patches to ~rensoliemans/flacfixer@lists.sr.ht.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flacfixer-1.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f8063cd52147ca559d2dc88e619cdd6ba1b7d319434b0e47e81d348dbc3af34 |
|
MD5 | 75ecb7a781087850d054e1b80f38d2c5 |
|
BLAKE2b-256 | 4bd488db02fed53c9d6585b97adf9188034a98dd2a048f6f54645b8153ee36de |