From 5fb43c4b2812f101057d7c61a8e32f3cd0279529 Mon Sep 17 00:00:00 2001 From: Eric Masseran Date: Tue, 23 Dec 2025 11:57:06 +0100 Subject: [PATCH] Alias for release group titles --- beetsplug/musicbrainz.py | 5 ++++- test/plugins/test_musicbrainz.py | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/beetsplug/musicbrainz.py b/beetsplug/musicbrainz.py index cabe2b37e..616f7468b 100644 --- a/beetsplug/musicbrainz.py +++ b/beetsplug/musicbrainz.py @@ -696,7 +696,10 @@ class MusicBrainzPlugin(MetadataSourcePlugin): info.albumstatus = release.get("status") if release["release-group"].get("title"): - info.release_group_title = release["release-group"].get("title") + alias = _preferred_alias(release["release-group"].get("aliases", ())) + info.release_group_title = ( + alias["name"] if alias else release["release-group"].get("title") + ) # Get the disambiguation strings at the release and release group level. if release["release-group"].get("disambiguation"): diff --git a/test/plugins/test_musicbrainz.py b/test/plugins/test_musicbrainz.py index 98456d250..fdeccfe4d 100644 --- a/test/plugins/test_musicbrainz.py +++ b/test/plugins/test_musicbrainz.py @@ -63,6 +63,7 @@ class MBAlbumInfoTest(MusicBrainzTestCase): "first-release-date": date_str, "id": "RELEASE GROUP ID", "disambiguation": "RG_DISAMBIGUATION", + "title": "RELEASE GROUP TITLE", }, "artist-credit": [ { @@ -423,6 +424,22 @@ class MBAlbumInfoTest(MusicBrainzTestCase): d = self.mb.album_info(release) assert d.releasegroup_id == "RELEASE GROUP ID" + def test_parse_release_group_title(self): + release = self._make_release(None) + release["release-group"]["aliases"] = [ + make_alias(suffix="en", locale="en", primary=True), + ] + + # test no alias + config["import"]["languages"] = [""] + d = self.mb.album_info(release) + assert d.release_group_title == "RELEASE GROUP TITLE" + + # test en primary + config["import"]["languages"] = ["en"] + d = self.mb.album_info(release) + assert d.release_group_title == "ALIASen" + def test_parse_asin(self): release = self._make_release(None) d = self.mb.album_info(release)