From bd306abace66a43cd2c42c3be7cdfecc7a6962cf Mon Sep 17 00:00:00 2001 From: peteS-UK <64092177+peteS-UK@users.noreply.github.com> Date: Tue, 25 Feb 2025 23:55:53 +0000 Subject: [PATCH] Add album artist media browser category to Squeezebox (#139210) --- homeassistant/components/squeezebox/browse_media.py | 4 ++++ tests/components/squeezebox/conftest.py | 1 + tests/components/squeezebox/test_media_browser.py | 1 + 3 files changed, 6 insertions(+) diff --git a/homeassistant/components/squeezebox/browse_media.py b/homeassistant/components/squeezebox/browse_media.py index e12d2aa8844..6bc1d2380cf 100644 --- a/homeassistant/components/squeezebox/browse_media.py +++ b/homeassistant/components/squeezebox/browse_media.py @@ -29,6 +29,7 @@ LIBRARY = [ "Playlists", "Genres", "New Music", + "Album Artists", "Apps", "Radios", ] @@ -41,6 +42,7 @@ MEDIA_TYPE_TO_SQUEEZEBOX: dict[str | MediaType, str] = { "Playlists": "playlists", "Genres": "genres", "New Music": "new music", + "Album Artists": "album artists", MediaType.ALBUM: "album", MediaType.ARTIST: "artist", MediaType.TRACK: "title", @@ -71,6 +73,7 @@ CONTENT_TYPE_MEDIA_CLASS: dict[str | MediaType, dict[str, MediaClass | None]] = "Playlists": {"item": MediaClass.DIRECTORY, "children": MediaClass.PLAYLIST}, "Genres": {"item": MediaClass.DIRECTORY, "children": MediaClass.GENRE}, "New Music": {"item": MediaClass.DIRECTORY, "children": MediaClass.ALBUM}, + "Album Artists": {"item": MediaClass.DIRECTORY, "children": MediaClass.ARTIST}, MediaType.ALBUM: {"item": MediaClass.ALBUM, "children": MediaClass.TRACK}, MediaType.ARTIST: {"item": MediaClass.ARTIST, "children": MediaClass.ALBUM}, MediaType.TRACK: {"item": MediaClass.TRACK, "children": None}, @@ -98,6 +101,7 @@ CONTENT_TYPE_TO_CHILD_TYPE: dict[ "Radios": MediaClass.APP, "App": None, # can only be determined after inspecting the item "New Music": MediaType.ALBUM, + "Album Artists": MediaType.ARTIST, MediaType.APPS: MediaType.APP, MediaType.APP: MediaType.TRACK, } diff --git a/tests/components/squeezebox/conftest.py b/tests/components/squeezebox/conftest.py index cb77495e818..9ca750808c5 100644 --- a/tests/components/squeezebox/conftest.py +++ b/tests/components/squeezebox/conftest.py @@ -132,6 +132,7 @@ async def mock_async_browse( child_types = { "favorites": "favorites", "new music": "album", + "album artists": "artists", "albums": "album", "album": "track", "genres": "genre", diff --git a/tests/components/squeezebox/test_media_browser.py b/tests/components/squeezebox/test_media_browser.py index f00ea1754fc..7b11ef30a87 100644 --- a/tests/components/squeezebox/test_media_browser.py +++ b/tests/components/squeezebox/test_media_browser.py @@ -77,6 +77,7 @@ async def test_async_browse_media_root( ("Playlists", 4), ("Genres", 4), ("New Music", 4), + ("Album Artists", 4), ("Apps", 3), ("Radios", 3), ],