Sebastian Mohr
08d9f34df5
Discogs: artist name variation support + artist credit support. ( #6050 )
...
Implements #3354 , updates #6040 . This PR also improves typehints for the discogs plugin.
The name variations provided by Discogs can now be used by the
auto-tagger through 3 config options.
By default, the plugin will write the variation to the tag
`artist_credit`, but through three config options can also write it
to the album artist tag, the track's artist tag, or any combination of
the three.
This PR contains a small addition on #6040 , letting the string used to
join featured artists be customized.
The new configuration options available, and their defaults, are as
follows:
```yaml
discogs:
featured_string: "Feat."
anv:
artist_credit: True
album_artist: False
artist: False
```
2025-10-05 12:54:31 +02:00
henry
90120e451d
Merge branch 'master' into discogs-anv-support
2025-10-04 12:00:51 -07:00
Henry
ed73903deb
type corrections
2025-10-04 11:59:15 -07:00
Henry
2a80bdef2e
Added type hints to all functions
2025-10-04 11:03:17 -07:00
Henry
a909dddd16
adding typechecks, need to fix the medium discrepancy
2025-10-03 18:52:37 -07:00
J0J0 Todos
347802afea
fix spacing for "finding tags for" prompt ( #6067 )
2025-10-04 01:06:56 +02:00
Henry
267428f0a4
Merge branch 'master' of github.com:henry-oberholtzer/beets into discogs-anv-support
2025-10-03 15:05:48 -07:00
Henry
b9a840a2a3
Update all functions with types
2025-10-03 15:01:34 -07:00
Henry
f5acdec2b1
Update configuration format.
2025-10-03 14:44:22 -07:00
MinchinWeb
033e613016
fix spacing for "finding tags for" prompt
2025-10-03 14:48:56 -06:00
Alok Saboo
20820fdb14
update imports
2025-10-02 08:31:30 -04:00
Alok Saboo
93c8950bf4
Extends the importer’s “fresh on reimport” lists so album flex metadata from new releases replaces stale values
2025-10-02 08:24:01 -04:00
Sebastian Mohr
e12020abb8
Spotify: Store track attributes even if audio features are missing ( #6062 )
...
Fixes #6061
2025-10-02 12:05:43 +02:00
Alok Saboo
b66b2b51b5
Remove potentially expensive item.get() calls
2025-10-01 17:48:41 -04:00
Alok Saboo
7a097bb4b6
lint
2025-10-01 17:47:26 -04:00
Alok Saboo
70a4d0462d
Persist spotify track attributes even if audio features are missing
2025-10-01 17:15:13 -04:00
Sebastian Mohr
f6ca68319d
Add git commit suffix to __version__ for development installs ( #5967 )
...
Make it obvious when beets is installed from from a non
major version. When installed locally this adds a git hash suffix and
the distance to the last release.
closes #4448
2025-10-01 12:58:57 +02:00
Sebastian Mohr
4782e96599
Move vfs.py to beetsplug._utils package to avoid polluting core namespace ( #6017 )
...
This PR moves the `vfs.py` module, which is only used by plugins, to
avoid polluting the main beets namespace. Also exposes the `vfs` and
`art` module from beets with a deprecation warning.
2025-10-01 12:28:18 +02:00
Henry
fcebe8123a
Expand documentation
2025-09-30 20:01:35 -07:00
Henry
9371ab81ec
Merge remote-tracking branch 'origin' into discogs-anv-support
2025-09-30 19:23:23 -07:00
Vrihub
5f9800ec43
Merge branch 'master' into ffnp
2025-09-30 17:41:13 +02:00
Vrihub
b8ae222dc4
Mention tests in changelog entry.
2025-09-30 16:04:59 +02:00
Vrihub
638afc3d2c
Refactor tests using pytest
2025-09-30 15:54:33 +02:00
Vrihub
80ffa4879d
Improve regexp and module docstring
2025-09-30 15:46:26 +02:00
Sebastian Mohr
b06f3f6aa6
Improved beets/logging.py typing ( #6032 )
...
This PR enhances `beets/logging.py` with improved typing and tests:
* `getLogger` now returns the precise logger type (`BeetsLogger` or
`RootLogger`).
* Tests use `pytest` and `parametrize` for more concise and readable
coverage.
2025-09-30 13:47:08 +02:00
Sebastian Mohr
89c2e10680
Removed typealias, worked locally with mypy but does seem to cause
...
issues with the ci. Also python 3.9 requires unions here...
2025-09-30 13:39:49 +02:00
Sebastian Mohr
837295e250
Added typehints from typeshed and removed default argument.
2025-09-30 13:37:51 +02:00
Sebastian Mohr
caebf185f1
Removed unused ParamSpec and added a consistency check in the tests.
2025-09-30 13:37:51 +02:00
Sebastian Mohr
b2fc007480
Fixed plugin typehints: use actual logger class.
2025-09-30 13:37:51 +02: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
Sebastian Mohr
461bc049a0
Enhanced custom logger typing and logging tests
2025-09-30 13:37:51 +02:00
Šarūnas Nejus
689ec1022f
Fix plugin loading ( #6039 )
...
Fixes #6033
This PR addresses a bug where plugin loading failed when plugins
imported other `BeetsPlugin` classes, namely `chroma` and `bpsync`.
- Add module path filtering to ensure only classes from the target
plugin module are considered, preventing conflicts when plugins import
other `BeetsPlugin` classes
2025-09-29 11:47:16 +01:00
Šarūnas Nejus
7954671c73
Mock DummyPlugin properly
2025-09-29 11:39:16 +01:00
Šarūnas Nejus
c34b2a00a4
Fix plugin loading
2025-09-29 11:39:15 +01:00
Henry
c44c535b22
Fully parametrize testing
2025-09-28 10:49:56 -07:00
Henry
abc8c2d5d8
resolve overriding method type error
2025-09-27 15:05:14 -07:00
Henry
9efe728f47
type checking, tuple unpacking fix in various artists
2025-09-27 14:49:56 -07:00
Henry
b1903417f4
Add artist credit support, artist name variation support, more flexible featured credit.
2025-09-27 14:29:25 -07:00
Henry
1cf2254e74
Merge branch 'master' into dev
2025-09-27 11:48:52 -07:00
Šarūnas Nejus
4e865a6def
Discogs featured artist fix ( #6040 )
...
Fixes #6038 - Appends featured artists in the extraartists field to the
artist tag, similar to the MusicBrainz plugin. Works well with ftintitle
for consistency as well.
## To Do
May need adjustment for common artist delimiters used - but appears to
match the MusicBrainz standard at the moment.
2025-09-27 18:59:32 +01:00
Henry
dd57c0da2d
improve flexibility of use of anv on artist tracks
2025-09-27 10:42:29 -07:00
Henry
85201a4e17
merge with master branch
2025-09-27 08:04:53 -07:00
Šarūnas Nejus
bc9d34ed98
Fix for Spotify Candidate Lookup. Changed query from double to single quotes. ( #6049 )
...
I noticed that spotify did not return any candidates for some of my
examples, but adding the search id manually would give a very good
match. I debugged it a bit and it seems like spotify does not like
double quotes we used for the search query.
Using single quotes fixed it for me.
Note that this does not seem to be documented in the [spotify api
documentation](https://developer.spotify.com/documentation/web-api/reference/search )
The example I used:
```
# Query with double quotes, which does not return any candidates
# Searching Spotify for 'album:"Flamethrower" artist:"Circadian, Cody Frost"'
https://api.spotify.com/v1/search?offset=0&limit=50&query=album%3A%22Flamethrower%22%20artist%3A%22Circadian%2C%20Cody%20Frost%22&type=album
# New Query
# Searching Spotify for 'album:'Flamethrower' artist:'Circadian, Cody Frost''
https://api.spotify.com/v1/search?offset=0&limit=5&query=album%3A%27Flamethrower%27%20artist%3A%27Circadian%2C%20Cody%20Frost%27&type=album
```
2025-09-27 13:34:20 +01:00
pSpitzner
cc0024e089
Spotify tests are now consistent with quote change
2025-09-27 13:22:41 +02:00
pSpitzner
a0a0a094d3
Changed query from double to single quotes.
2025-09-27 13:06:12 +02:00
Henry
1e677d57c1
Updates to documentation
2025-09-26 21:37:18 -07:00
Henry
0ec6689395
test updates, one case still failing
2025-09-26 17:56:25 -07:00
Henry
5a43d6add4
Testing and implemented anv method, also added Featuring customizable string
2025-09-26 16:01:33 -07:00
Henry
533aa6379b
Test working, need to implement anv now
2025-09-25 22:38:02 -07:00
Henry Oberholtzer
9c8172be12
Write initial ANV test
2025-09-26 01:55:28 +02:00