Show external cover art in music-assistant-integration (#141716)

* fix: handling of external album-art in music-assistant-integration

* chore: refinements

* make the image-logic more readable

* fix code comment to be accurate
This commit is contained in:
Benjamin Bender 2025-03-29 22:04:57 +01:00 committed by GitHub
parent aba01d4361
commit 35b9564ed4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -592,17 +592,24 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
def _update_media_image_url( def _update_media_image_url(
self, player: Player, queue: PlayerQueue | None self, player: Player, queue: PlayerQueue | None
) -> None: ) -> None:
"""Update image URL for the active queue item.""" """Update image URL."""
if queue is None or queue.current_item is None: if queue and queue.current_item:
self._attr_media_image_url = None # image_url is provided by an music-assistant queue
return image_url = self.mass.get_media_item_image_url(queue.current_item)
if image_url := self.mass.get_media_item_image_url(queue.current_item): elif player.current_media and player.current_media.image_url:
# image_url is provided by an external source
image_url = player.current_media.image_url
else:
image_url = None
# check if the image is provided via music-assistant and therefore
# not accessible from the outside
if image_url:
self._attr_media_image_remotely_accessible = ( self._attr_media_image_remotely_accessible = (
self.mass.server_url not in image_url self.mass.server_url not in image_url
) )
self._attr_media_image_url = image_url self._attr_media_image_url = image_url
return
self._attr_media_image_url = None
def _update_media_attributes( def _update_media_attributes(
self, player: Player, queue: PlayerQueue | None self, player: Player, queue: PlayerQueue | None