Skip to content

Commit 3ce0336

Browse files
authored
Merge pull request #85 from droans/dev
v0.9.2
2 parents 47a0ac9 + a6284c8 commit 3ce0336

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

custom_components/mass_queue/controller.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,18 @@ async def get_recommendations(self, providers: list | None = None):
149149
recs = await self._client.music.recommendations()
150150
if not providers:
151151
return recs
152-
return [rec for rec in recs if rec.provider in providers]
152+
rec_providers = []
153+
for rec in recs:
154+
if rec.provider not in rec_providers:
155+
rec_providers.append(rec.provider)
156+
157+
used_rec_providers = [
158+
rec_provider
159+
for rec_provider in rec_providers
160+
for provider in providers
161+
if rec_provider.startswith(provider)
162+
]
163+
return [rec for rec in recs if rec.provider in used_rec_providers]
153164

154165
async def get_grouped_volume(self, player_id: str):
155166
"""Get the grouped volume for a given player."""

custom_components/mass_queue/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
"issue_tracker": "https://github.com/droans/mass_queue/issues",
1212
"requirements": ["music-assistant-client"],
1313
"ssdp": [],
14-
"version": "0.9.1",
14+
"version": "0.9.2",
1515
"zeroconf": ["_mass._tcp.local."]
1616
}

custom_components/mass_queue/utils.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ def _get_config_entry(
4141
def get_mass_queue_entry(hass, entity_id):
4242
"""Gets the actions for the selected entity."""
4343
mass_entry = get_mass_entry(hass, entity_id)
44-
mass = mass_entry.runtime_data.mass.connection.ws_server_url
45-
return find_mass_queue_entry(hass, mass)
44+
unique_id = mass_entry.unique_id
45+
return find_mass_queue_entry_from_unique_id(hass, unique_id)
4646

4747

4848
def get_entity_actions_controller(hass, entity_id):
@@ -69,14 +69,13 @@ def _get_mass_entity_config_entry_id(hass, entity_id):
6969
return registry.async_get(entity_id).config_entry_id
7070

7171

72-
def find_mass_queue_entry(hass, mass_url):
72+
def find_mass_queue_entry_from_unique_id(hass: HomeAssistant, unique_id: str):
7373
"""Finds the mass_queue entry for the given MA URL."""
7474
entries = _get_mass_queue_entries(hass)
7575
for entry in entries:
76-
entry_url = entry.runtime_data.mass.connection.ws_server_url
77-
if entry_url == mass_url:
76+
if entry.unique_id == unique_id:
7877
return entry
79-
msg = f"Cannot find entry for Music Assistant at {mass_url}"
78+
msg = f"Cannot find entry for Music Assistant with unique ID {unique_id}"
8079
raise ServiceValidationError(msg)
8180

8281

0 commit comments

Comments
 (0)