Fix the MusicBrainz search not taking into account the album/recording aliases

This commit is contained in:
Nicolas Mémeint 2025-06-13 20:12:03 +00:00 committed by Šarūnas Nejus
parent 66864fcc27
commit 4893cee5e5
3 changed files with 5 additions and 1 deletions

View file

@ -771,6 +771,7 @@ class MusicBrainzPlugin(BeetsPlugin):
) -> dict[str, str]:
criteria = {
"release": album,
"alias": album,
"tracks": str(len(items)),
} | ({"arid": VARIOUS_ARTISTS_ID} if va_likely else {"artist": artist})
@ -826,7 +827,7 @@ class MusicBrainzPlugin(BeetsPlugin):
def item_candidates(
self, item: Item, artist: str, title: str
) -> Iterator[beets.autotag.hooks.TrackInfo]:
criteria = {"artist": artist, "recording": title}
criteria = {"artist": artist, "recording": title, "alias": title}
yield from filter(
None, map(self.track_info, self._search_api("recording", criteria))

View file

@ -37,6 +37,8 @@ Bug fixes:
* Fix ``HiddenFileTest`` by using ``bytestring_path()``.
* tests: Fix tests failing without ``langdetect`` (by making it required).
:bug:`5797`
* :doc:`plugins/musicbrainz`: Fix the MusicBrainz search not taking into
account the album/recording aliases
For packagers:

View file

@ -1025,6 +1025,7 @@ class TestMusicBrainzPlugin(PluginMixin):
assert mb.get_album_criteria(items, "Artist ", " Album", va_likely) == {
"release": " Album",
"alias": " Album",
"tracks": str(len(items)),
**expected_additional_criteria,
}