frigginbrownie
1ff254215a
Update convert.py
2026-01-15 15:46:01 +00:00
Šarūnas Nejus
1c20e4bd4e
Address RUF012
2026-01-13 20:55:40 +00:00
Šarūnas Nejus
c52656fb0a
Enable RUF rules
2026-01-13 20:55:40 +00:00
Šarūnas Nejus
078ffc1c57
Configure ruff for py310
2026-01-13 20:55:40 +00:00
Šarūnas Nejus
b964d8b7eb
Configure future-annotations
2026-01-13 20:55:40 +00:00
David Logie
3ea4bb7941
Fix bug in fetching preferred release event.
...
With the changes to how data is fetched from MusicBrainz, empty releases
are now `None` instead of an empty dict.
2026-01-13 13:16:09 +00:00
Šarūnas Nejus
f63585fe31
Remove expired Spotify credentials and log error for missing configuration ( #6271 )
...
Looks like our hard-coded API credentials expired. This PR removes
expired credentials and makes it clear to the user that they must
provide their credentials.
Fixes #6270
2026-01-11 19:02:37 +00:00
Alok Saboo
cff631f9c9
updated credentials
2026-01-11 09:20:03 -05:00
Henry Oberholtzer
f7b05cb7db
ftintitle: fix changelog conflict
2026-01-08 12:20:25 -08:00
Šarūnas Nejus
a3c2e383f4
Merge branch 'master' into spotify
2026-01-08 00:23:15 +00:00
Alok Saboo
dd3ecec579
Updated Spotify API credentials
2026-01-07 18:54:39 -05:00
Aidan Epstein
b53aff9b15
Fix fetchart colors broken by 67e668d81f
2026-01-07 10:36:08 -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
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
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
Š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