Commit graph

191 commits

Author SHA1 Message Date
henry
b902352139
New Plugin: Titlecase (#6133)
This plugin aims to address the shortcomings of the %title function, as
brought up in issues #152, #3298 and an initial look to improvement with
#3411. It supplies a new string format command, `%titlecase` which
doesn't interfere with any prior expected behavior of the `%title`
format command.

It also adds the ability to apply titlecase logic to metadata fields
that a user selects, which is useful if you, like me, are looking for
stylistic consistency and the minor stylistic differences between
Musizbrainz, Discogs, Deezer etc, with title case are slightly
infuriating.

This will add an optional dependency of
[titlecase](https://pypi.org/project/titlecase/), which allows the
titlecase core logic to be externally maintained.

If there's not enough draw to have this as a core plugin, I can also
spin this into an independent one, but it seemed like a recurring theme
that the %title string format didn't really behave as expected, and I
wanted my metadata to match too.

- [x] Documentation. (If you've added a new command-line flag, for
example, find the appropriate page under `docs/` to describe it.)
- [x] Changelog. (Add an entry to `docs/changelog.rst` to the bottom of
one of the lists near the top of the document.)
- [x] Tests. - Not 100% coverage, but didn't see a lot of other plugins
with testing for import stages.
2025-11-23 10:34:05 -08:00
Šarūnas Nejus
dc33932871
Update python version references 2025-11-08 12:09:52 +00:00
asardaes
f3934dc58b Add mbpseudo plugin 2025-11-01 13:51:34 +01:00
Šarūnas Nejus
e76665bcfb
Do not support 3.14 for now, until we drop 3.9 in a couple of days 2025-10-28 10:26:34 +00:00
Šarūnas Nejus
fdc6d6e787
Revert "Try env var"
This reverts commit e30f7fbe9c.
2025-10-27 08:55:08 +00:00
Šarūnas Nejus
e30f7fbe9c
Try env var 2025-10-27 08:45:19 +00:00
Šarūnas Nejus
3eb68ef830
Use cross-platform shutil.get_terminal_size to get term_width
This fixes Python 3.14 incompatibility.
2025-10-27 08:23:37 +00:00
Šarūnas Nejus
1ea3879aae
Upgrade librosa and audioread 2025-10-27 08:23:37 +00:00
Martin Atukunda
3ccc91d4d4 Drop 3.13 from python-version for now. 2025-10-19 01:53:17 +01:00
Martin Atukunda
e61ecb4496 fix(github/workflows): update to checkout v5, and setup-python v6.
* also run ci against python 3.13, which is default in debian trixie.
2025-10-19 01:53:17 +01:00
Sebastian Mohr
f637e5efbb Added overload to getLogger function. Added changelog entry
and added myself to codeowners file.
2025-09-30 13:37:51 +02:00
Šarūnas Nejus
37ae23faf5
Add CODEOWNERS file to assign the entire repo to @maintainers 2025-09-06 17:43:15 +01:00
Šarūnas Nejus
b7e5357914
Run only html by default but allow adjustments 2025-09-04 12:52:37 +01:00
Šarūnas Nejus
1129170ddc
Configure docstrfmt 2025-08-10 16:25:04 +01:00
Šarūnas Nejus
c2043dad7f
Reorganize problem matchers 2025-08-10 14:05:56 +01:00
Šarūnas Nejus
61755ada9b
CI: cancel previous workflow runs when new commit is pushed 2025-08-10 14:05:56 +01:00
Šarūnas Nejus
15b0c052b6
Add sphinx-lint and run it in CI 2025-08-10 14:04:42 +01:00
Šarūnas Nejus
84df87c665
Upload test results to codecov 2025-08-09 15:27:17 +01:00
Šarūnas Nejus
24ae1a765b
Make cov setup a bit more useful and upgrade cov upload action 2025-08-09 15:11:59 +01:00
Sebastian Mohr
c2d1bc3aaf
Add py.typed marker file to support PEP 561 typing (#5906)
Add `py.typed` marker file to support PEP 561 typing

This PR adds a `py.typed` marker file to the package directory to
indicate that the package includes inline type hints and is PEP 561
compliant.
2025-08-09 13:31:55 +02:00
Sebastian Mohr
73dda4f7f8 Added dependencies for all failed plugins 2025-08-09 13:17:27 +02:00
Šarūnas Nejus
62bbd187a9
Bump tj-actions/changed-files 2025-07-17 13:30:34 +01:00
Šarūnas Nejus
ada672b759
Do not install not required apt deps in ci 2025-07-16 14:30:03 +01:00
Šarūnas Nejus
46318a113c
Install gstreamer1.0-plugins-base, python3-gst-1.0 for bpd 2025-07-16 14:06:35 +01:00
Šarūnas Nejus
72003ba192
Let mypy failure block CI 2025-07-16 14:06:34 +01:00
Šarūnas Nejus
8dcc69e6d8
Replace _assert_image_operated 2025-07-09 09:21:52 +01:00
Šarūnas Nejus
9926a1ac3c
Revert "Try using threeal/pipx-install-action@v1.0.0 for CI tests"
This reverts commit ab9b2e0b69.
2025-06-29 13:43:48 +01:00
Šarūnas Nejus
ab9b2e0b69
Try using threeal/pipx-install-action@v1.0.0 for CI tests
I have reported the issue with BrandonLWhite/pipx-install-action@v1.0.3
failing on Windows here:
https://github.com/BrandonLWhite/pipx-install-action/issues/62
2025-06-24 12:08:33 +01:00
Šarūnas Nejus
d5bd24bb64
Update pipx-install-action to fix caching errors 2025-06-24 12:08:33 +01:00
wisp3rwind
fd383ead51 ci: run with fetchart dependencies (Pillow)
at least in the with-coverage tests
2025-05-20 09:00:04 +02:00
wisp3rwind
ff22da0691 install imagemagick in CI environment 2025-05-20 09:00:04 +02:00
Šarūnas Nejus
80cf9ea888
Update pipx-install-action action version 2025-05-14 10:42:07 +01:00
Šarūnas Nejus
16a6cb1340
Update dependencies
And thus address the following security vulnerabilities: https://github.com/beetbox/beets/security/dependabot
2025-05-07 10:24:05 +01:00
Šarūnas Nejus
5128a817be
Update missed out python version in the build 2025-05-07 10:24:04 +01:00
Šarūnas Nejus
a40a3d45e4
Install docs dependencies early 2025-05-07 10:24:02 +01:00
Fabio Alessandro Locati
4b04d0e7c8
Update python to current supported versions. 2025-03-24 22:12:58 +01:00
Šarūnas Nejus
35dcfe508a
Configure integrated lyrics tests to only run on lyrics code changes 2025-01-19 01:48:03 +00:00
Šarūnas Nejus
fc49902f3a
Refactor lyrics backend tests to use pytest fixtures
- Replaced unittest.mock with pytest fixtures for better test isolation and readability.
- Simplified test cases by using parameterized tests.
- Added `requests-mock` dependency to `pyproject.toml` and `poetry.lock`.
- Removed redundant helper functions and classes.
2025-01-19 01:33:15 +00:00
Šarūnas Nejus
044712b796
Add now missing libcairo dependency
Thanks GitHub for breaking workflows out of thin air.
2025-01-13 06:58:30 +00:00
Šarūnas Nejus
5fc92c98da
Make sure release script is tested on Ubuntu 2025-01-12 05:12:29 +00:00
Šarūnas Nejus
eb557f720d
Resolve all URLs for markdown 2024-12-28 07:26:04 +00:00
Šarūnas Nejus
555cf322db
Remove the temporary testing workflow 2024-12-28 07:26:04 +00:00
Šarūnas Nejus
7b9625bc86
Test rst to md conversion 2024-12-28 07:24:22 +00:00
Šarūnas Nejus
13e83cdce3
🤦 2024-12-28 07:24:22 +00:00
Šarūnas Nejus
914dbcb420
Cache deps 2024-12-28 07:24:22 +00:00
Šarūnas Nejus
aff43d8d62
Remove poe output 2024-12-28 07:24:22 +00:00
Šarūnas Nejus
ef4e98389c
Add test for changelog formatting 2024-12-28 07:24:17 +00:00
Šarūnas Nejus
7be8f9c97a
Update CI config, minimum ruff version, docs and add changelog note 2024-12-10 06:10:03 +00:00
Šarūnas Nejus
71eb1bca68
Release: create tag right after commit version update 2024-12-10 05:51:13 +00:00
Šarūnas Nejus
01f1fafc88
Release: do not fail when mastodon auth fails 2024-12-02 06:55:56 +00:00