fix(bbc_sounds): Reorder menu API calls so only used by auth users (#2687)
authorKieran Hogg <kieran.hogg@gmail.com>
Wed, 26 Nov 2025 14:58:08 +0000 (14:58 +0000)
committerGitHub <noreply@github.com>
Wed, 26 Nov 2025 14:58:08 +0000 (15:58 +0100)
Rejig the order of menu API calls so we don't request it for unauthenticated users

music_assistant/providers/bbc_sounds/__init__.py

index 2f91511b7cfadb419d9e877908cef112cb1c1586..6fe42f2fb57927109d3b6d13c4fc4d4ae3e1338f 100644 (file)
@@ -212,7 +212,9 @@ class BBCSoundsProvider(MusicProvider):
         if not self.menu or (
             isinstance(self.menu, Menu) and self.menu.sub_items and len(self.menu.sub_items) == 0
         ):
-            await self._fetch_menu()
+            is_uk_listener = await self.client.auth.is_uk_listener
+            if self.client.auth.is_logged_in and is_uk_listener:
+                await self._fetch_menu()
 
     def _get_provider_mapping(self, item_id: str) -> ProviderMapping:
         return ProviderMapping(
@@ -467,6 +469,8 @@ class BBCSoundsProvider(MusicProvider):
     async def _get_full_menu(
         self, path_parts: list[str] | None = None
     ) -> Sequence[MediaItemType | ItemMapping | BrowseFolder]:
+        if not self.menu:
+            await self._fetch_menu()
         if not self.menu or not self.menu.sub_items:
             raise MusicAssistantError("Menu API response is empty or invalid")
         menu_items = []