Skip to main content

flacfixer

A program to automatically manage the filenames of your music directory.

builds.sr.ht status

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

Code style: black

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: executes black and ruff. This is also more or less what pre-commit does.

  • make analyse: make lint and mypy

  • make test: unittests

  • make check: make analyse and make test (everything)

Contributing

I'm new to mailing lists with git, but please send patches to ~rensoliemans/flacfixer@lists.sr.ht.

Metadata

Release files for flacfixer 2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flacfixer 2.0
File Size Uploaded Provenance
flacfixer-2.0.tar.gz 17.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for flacfixer 2.0
File Interpreter ABI Platform
flacfixer-2.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.5 kB

Release files / flacfixer-2.0.tar.gz

Download URL flacfixer-2.0.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3d21ef677c950e861ac06e9fc380248051bd7ebf354cd9ac439aecfa6287001f
BLAKE2b-256 checksum
How to use checksums
9c30b8003346cb145e7a5a148cd64d71d964d4b58c07d35e96fa6d1898f6f96b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / flacfixer-2.0-py3-none-any.whl

Download URL flacfixer-2.0-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
139dd236c7779330f93f16ebdaa5af176cbdc01dedba4a668ae080fa67a6f314
BLAKE2b-256 checksum
How to use checksums
fd5c846cac41b1197ecf793e90f2953ce8af1701df698bef15bb3f8b6300560b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for flacfixer 2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page