Henry Oberholtzer
4ac4e19f5d
Merge Discogs Fixes with master
2026-01-07 12:21:14 -08:00
Henry Oberholtzer
8ef4ed2ce9
Clarify variable in _process_clean_tracklist
2026-01-07 12:17:36 -08:00
Šarūnas Nejus
d4b00ab4f4
Add request handler utils to the docs
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
59b02bc49b
Type MusicBrainzAPI properly
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
55b9c1c145
Retry on server errors too
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
1447f49b72
Add some documentation to musicbrainz api mixins
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
b49d71cb69
mbcollection: slight refactor
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
92352574aa
Migrate mbcollection to use MusicBrainzAPI
2026-01-06 09:54:02 +00:00
Šarūnas Nejus
143cd70e2f
mbcollection: Add tests
2026-01-06 00:51:51 +00:00
Šarūnas Nejus
9349ad7551
Migrate missing to use MusicBrainzAPI
2026-01-06 00:51:50 +00:00
Šarūnas Nejus
d346daf48e
missing: add tests for --album flag
2026-01-06 00:51:24 +00:00
Šarūnas Nejus
a33371b6ef
Migrate parentwork to use MusicBrainzAPI
2026-01-06 00:27:36 +00:00
Šarūnas Nejus
741f5c4be1
parentwork: simplify work retrieval and tests
2026-01-06 00:27:36 +00:00
Šarūnas Nejus
36964e433e
Migrate listenbrainz plugin to use our MusicBrainzAPI implementation
2026-01-06 00:27:36 +00:00
Šarūnas Nejus
af96c3244e
Add a minimal test for listenbrainz
2026-01-06 00:26:42 +00:00
Šarūnas Nejus
523fa6ceaf
Move MusicBrainzAPI to a shared util
2026-01-06 00:26:41 +00:00
Trey Turner
714c9705c3
Merge branch 'master' into feat/ftintitle/insert_featured_artist_before_variant_clauses
2026-01-01 15:40:37 -06:00
Trey Turner
b14755df88
fix(ftintitle): remaining opportunities for improvement
2026-01-01 15:39:17 -06:00
Henry Oberholtzer
e9c3dd1c5c
merge with master... again!
2025-12-30 14:40:47 -08:00
Henry Oberholtzer
1aedaf6cef
Merge with master
2025-12-30 14:13:27 -08:00
J0J0 Todos
b8c7c87b41
lastgenre: Add typehints to remaining methods,
...
to finally reach full type hint coverage in the plugin!
2025-12-30 21:33:07 +01:00
J0J0 Todos
f19d672016
lastgenre: Type hints for genre fetch methods
2025-12-30 20:57:10 +01:00
J0J0 Todos
a046f60c51
lastgenre: Hint mypy to Album.items()
...
instead of obj.items()
2025-12-30 20:57:10 +01:00
j0j0
355c9cc1b6
lastgenre: Use multi-valued albumartists field
...
In case the albumartist genre can't be found (often due to variations of
artist-combination wording issues, eg "featuring", "+", "&" and so on)
use the albumartists list field, fetch a genre for each artist
separately and concatenate them.
2025-12-30 20:57:10 +01:00
j0j0
40a212a2c4
lastgenre: Simplify genre fetchers
...
Reduce fetcher methods to 3: last.fm can be asked for
for a genre for these combinations of metadata:
- albumartist/album
- artist/track
- artist
Passing them in the callers instead of hiding it in the
methods also helps readability in _get_genre().
2025-12-30 20:57:10 +01:00
Henry Oberholtzer
3d29b4b3ad
Add comments, clean up types.
2025-12-30 11:49:20 -08:00
Danny Trunk
9ddddf4c39
fetchart: Add support for configurable fallback cover art
2025-12-30 13:45:03 +01:00
Šarūnas Nejus
f9c3aae4ed
Musicbrainz: fix original release id access for a pseudo releae
2025-12-29 17:05:32 +00:00
Šarūnas Nejus
ea157832fe
hooks: make AlbumMatch.mapping a tuple
2025-12-24 11:01:26 +00:00
Sebastian Mohr
53a42bf6f6
Merge branch 'master' into gabepush-test-fix
2025-12-23 15:34:47 +01:00
Trey Turner
572645b94c
Merge branch 'master' into feat/ftintitle/insert_featured_artist_before_variant_clauses
2025-12-21 21:06:31 -06:00
Doron Behar
0230352da1
importsource: fix potential prevent_suggest_removal crash
2025-12-21 13:07:02 +01:00
Šarūnas Nejus
5785ce3a84
Ensure that inc are joined with a plus
...
See this line in https://musicbrainz.org/doc/MusicBrainz_API#Lookups
> To include more than one subquery in a single request, separate the arguments to inc= with a + (plus sign), like inc=recordings+labels.
2025-12-21 01:03:20 +00:00
Šarūnas Nejus
d1aa45a008
Add retries for connection errors
2025-12-21 01:03:20 +00:00
Šarūnas Nejus
9dad040977
Add Usage block to RequestHandler
2025-12-21 00:40:40 +00:00
Šarūnas Nejus
72f7d6ebe3
Refactor HTTP request handling with RequestHandler base class
...
Introduce a new RequestHandler base class to introduce a shared session,
centralize HTTP request management and error handling across plugins.
Key changes:
- Add RequestHandler base class with a shared/cached session
- Convert TimeoutSession to use SingletonMeta for proper resource
management
- Create LyricsRequestHandler subclass with lyrics-specific error
handling
- Update MusicBrainzAPI to inherit from RequestHandler
2025-12-21 00:40:40 +00:00
Trey Turner
c0c7a9df8f
fix: line length
2025-12-20 02:34:15 -06:00
Trey Turner
87a61fa8fa
Merge branch 'master' into feat/ftintitle/insert_featured_artist_before_variant_clauses
2025-12-20 02:32:06 -06:00
Trey Turner
00792922b5
fix: address remaining review comments
2025-12-20 02:19:54 -06:00
Henry
a96da4164f
Fix behavior when ANV does not exist
2025-12-19 18:24:26 -08:00
Šarūnas Nejus
10ebd98ca5
musicbrainz: remove error handling
2025-12-20 01:35:52 +00:00
Šarūnas Nejus
ca0b3171cc
musicbrainz: access the custom server directly, if configured
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
6b034da147
musicbrainz: browse directly
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
abad03c1cb
musicbrainz: search directly
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
d70e591738
musicbrainz: lookup recordings directly
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
2a63e13617
musicbrainz: lookup release directly
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
7fdb458524
Move pseudo release lookup under the plugin
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
a866347345
Define MusicBrainzAPI class with rate limiting
2025-12-20 01:35:51 +00:00
Šarūnas Nejus
fda3bbaea5
Move TimeoutSession under beetsplug._utils
2025-12-20 01:35:51 +00:00
Henry Oberholtzer
21a6456d3f
Fix handling of commas and semicolons in artist join
2025-12-19 12:23:58 -08:00