Commit graph

12644 commits

Author SHA1 Message Date
Šarūnas Nejus
e981fb1aea
Deprecate musicbrainz.enabled configuration 2025-05-17 03:32:00 +01:00
Šarūnas Nejus
874fb3da7b
Add changelog note about musicbrainz 2025-05-17 03:32:00 +01:00
Šarūnas Nejus
33bed79a13
Move scrub test to a separate file 2025-05-17 03:32:00 +01:00
Šarūnas Nejus
7ff73d9747
musicbrainz: set default config in the code 2025-05-17 03:31:59 +01:00
Šarūnas Nejus
736d7d5fd0
Make musicbrainz docs follow the typical style 2025-05-17 03:31:59 +01:00
Šarūnas Nejus
df56bfeec9
Move musicbrainz docs to a separate file 2025-05-17 03:31:59 +01:00
Šarūnas Nejus
0980c82959
musicbrainz: update patches 2025-05-17 03:31:59 +01:00
Šarūnas Nejus
bef0bcbaa6
musicbrainz: synchronise plugin import path 2025-05-17 03:31:58 +01:00
Šarūnas Nejus
4fc9f0c3d6
Centralize AutotagStub test setup into AutotagImportTestCase 2025-05-17 03:31:58 +01:00
Šarūnas Nejus
5df857674c
plugins: add types and documentation to metadata backends methods and functions 2025-05-17 03:31:58 +01:00
Šarūnas Nejus
a538a3a150
musicbrainz: move handling of extra tags to musicbrainz plugin 2025-05-17 03:31:58 +01:00
Šarūnas Nejus
de0958ca65
Use candidate function from plugins instead of hooks 2025-05-17 03:31:57 +01:00
Šarūnas Nejus
2fcb48d7a4
Remove ...for_mbid methods and simplify the rest 2025-05-17 03:31:57 +01:00
Šarūnas Nejus
d8067b219b
musicbrainz: use self.config and self._log 2025-05-17 03:31:57 +01:00
Šarūnas Nejus
fd62d6a0b8
Integrate functionality with BeetsPlugin shenanigans 2025-05-17 03:31:57 +01:00
Šarūnas Nejus
529aaac7dc
Move functionality under MusicBrainzPlugin 2025-05-16 23:08:38 +01:00
Šarūnas Nejus
06dde6e37e
Define MusicBrainzPlugin 2025-05-16 20:17:59 +01:00
Šarūnas Nejus
5dc6f45110
musicbrainz: reorder methods
This will make it easier to track changes in later commits.
2025-05-16 19:56:50 +01:00
Šarūnas Nejus
e6e610a3ef
Move musicbrainz to beetsplug directory 2025-05-16 19:56:50 +01:00
snejus
d487d675b9 Increment version to 2.3.1 2025-05-14 09:53:19 +00:00
Šarūnas Nejus
69a76edc33
Pin poetry version below <2 (#5782)
Force `poetry` version below 2 to avoid it mangling file modification
times in `sdist`.

Fixes #5770
2025-05-14 10:48:00 +01:00
Šarūnas Nejus
80cf9ea888
Update pipx-install-action action version 2025-05-14 10:42:07 +01:00
Šarūnas Nejus
28781e9077
Pin Poetry version <2 2025-05-14 10:42:07 +01:00
Gavin Tronset
b92a1b3d98
Add beets-filetote to community plugins docs (#5779)
Add link to community plugin
[`beets-filetote`](https://github.com/gtronset/beets-filetote).

This plugin is the spiritual successor to
[beets-copyartifacts](https://github.com/adammillerio/beets-copyartifacts)
(`beets-copyartifacts3` was last updated 3 years ago) and
[beets-extrafiles](https://github.com/Holzhaus/beets-extrafiles) (last
updated 5 years ago).

Given the updates and changes in beets and how outdated those plugins
are, does it make sense to keep `beets-copyartifacts` in the community
plugins list?

---------

Co-authored-by: Sebastian Mohr <39738318+semohr@users.noreply.github.com>
2025-05-13 18:48:43 +02:00
Sebastian Mohr
b6045df592
Merge branch 'master' into importer-restructure 2025-05-13 13:05:46 +02:00
Sebastian Mohr
ce61ff0006 Removed pathbytes (lint error) 2025-05-13 13:05:07 +02:00
Sebastian Mohr
68acaa6470 Renamed all action occurrences with Action. 2025-05-13 13:01:46 +02:00
Sebastian Mohr
9147577b2b Moved importer into new files 2025-05-13 12:59:17 +02:00
Benedikt
589bd6d599
Art resizer typings v2 (#5734)
A rebased & amended version of
https://github.com/beetbox/beets/pull/4649.

I left a FIXME note regarding a cleanup that I feel should be done at
some point, but that is out-of-scope here when just adding initial
typings.
2025-05-13 12:18:53 +02:00
wisp3rwind
26008eb922 add example for LazySharedInstance 2025-05-13 12:13:40 +02:00
wisp3rwind
aa49385d27 artresizer: address review 2025-05-13 12:13:40 +02:00
wisp3rwind
720023c76f artresizer: adjust code & typings to satisfy mypy
Notably, this replaces the `Shareable` metaclass by a different implementation
of a descriptor: We don't really need to modify class creation here,
because the singleton is only available via the `shared` method, not via
the constructor. Additionally, it appears that mypy can understand the
new code.
2025-05-13 12:13:40 +02:00
wisp3rwind
b18e6e0654 artresizer: revise typings
This is more of a "what should the types be", in particular regarding
paths, it has not yet been run through mypy. That will be done next,
which is probably going to highlight a bunch of issues that should lead
to either the code being fixed, or the types adjusted.
2025-05-13 12:13:40 +02:00
Serene-Arc
c90ff27315 artresizer: make import conditional 2025-05-13 12:13:40 +02:00
Serene-Arc
7acfe8932a artresizer: add some missing typings 2025-05-13 12:13:40 +02:00
Serene-Arc
996a116a62 artresizer: type module 2025-05-13 12:13:40 +02:00
Šarūnas Nejus
0379f68aea
Do not remove everything that follows a dot in item destination path (#5774)
This PR addresses an issue where path legalization, specifically the
`truncate_path` function, incorrectly removed parts of filenames that
followed a dot. This occurred because `pathlib.Path.with_suffix` was
used, which replaces the existing suffix (or what it considers a suffix)
rather than just appending.

The fix modifies `truncate_path` to manually append the original suffix
after truncating the filename stem. This ensures that dots within the
filename, not part of the actual extension, are preserved.

Fixes #5771.
2025-05-12 09:21:10 +01:00
Šarūnas Nejus
a4dabb66cf
Fix extension arg type in the legalize path call
Also tighten `filetype` attribute type - empty value was previously
handled to accommodate a couple of tests, but they aren't failing
anymore, it seems.
2025-05-12 09:14:24 +01:00
Šarūnas Nejus
de09c3217a
Do not 'legalize' paths by removing everything following a dot
TIL that `with_suffix` does not simply append the suffix to the filename
- it instead replaces the old/current suffix. Or whatever seems to
look like a suffix, in our case, unfortunately...
2025-05-12 09:14:24 +01:00
jwynn6
677204238c
Update pathformat.rst (#5754)
Added explainer about escaping closing braces `$}`
2025-05-11 00:55:55 +00:00
snejus
250b0da900 Increment version to 2.3.0 2025-05-07 22:34:25 +00:00
Šarūnas Nejus
2697995428
Update dependencies and address security issues (#5765)
This PR addresses Dependabot vulnerability alerts and secret scanner
reports by updating dependencies and redacting some of the sensitive
configuration field.

* **Dependency Updates:** Updated various dependencies, including those
flagged by Dependabot, as reflected in `poetry.lock`. This resolves
known vulnerabilities.
* **Secret Redaction:** Addressed secret scanner findings by redacting
sensitive configuration values (e.g., `tokenfile`, `apikey`, `password`,
`username`, `userid`) in `beatport`, `discogs`, `embyupdate`,
`fetchart`, `lastimport`, `spotify`, and `subsonicupdate` plugins.
* **Python Version:** Standardized on Python 3.9 across GitHub Actions
workflows.
* **Code Style:** Minor adjustments for `ruff` compatibility, including
string concatenations and f-string quote consistency.
2025-05-07 20:44:45 +01:00
Šarūnas Nejus
a735e747f8
Skip tekstowo lyrics test 2025-05-07 20:39:33 +01:00
Šarūnas Nejus
fdc1aba603
Replace typing.cast with explicit type definitions and ignore TC006 2025-05-07 20:39:33 +01:00
Šarūnas Nejus
99dc0861c2
Redact sensitive fields
Redacted fields reported by GitHub secrets scanner[1] and a couple of others.

1: https://github.com/beetbox/beets/security/secret-scanning?query=is%3Aclosed
2025-05-07 20:39:32 +01:00
Šarūnas Nejus
6869afd7fe
Exclude formatting commit from blame 2025-05-07 10:42:06 +01:00
Šarūnas Nejus
c490ac5810
Fix formatting 2025-05-07 10:41:01 +01:00
Šarūnas Nejus
36d42c5b6f
Ensure that pre-commit ruff version is in sync with dependencies 2025-05-07 10:24:05 +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
63c23c32ed
Add missed out python versions to package classifiers 2025-05-07 10:24:04 +01:00