From 54f65ae87d9d0c8bb4d61d429dc323debf831b70 Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 20 Jan 2016 10:57:39 +0100 Subject: [PATCH] 1) artwork_url might be a relative url (such as /imageproxy). in that case, join it with the base url. note: urllib.parse.urljoin will handle case when the artwork url is absolute. 2) artwork would not be replaced in the user interface because the url did not change between tracks (http://.../cover.jpg). solved by appending internal hash of the media title to the url to force reload --- .../components/media_player/squeezebox.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/media_player/squeezebox.py b/homeassistant/components/media_player/squeezebox.py index 4fd13e8da42..871afe3c0bb 100644 --- a/homeassistant/components/media_player/squeezebox.py +++ b/homeassistant/components/media_player/squeezebox.py @@ -201,11 +201,18 @@ class SqueezeBoxDevice(MediaPlayerDevice): def media_image_url(self): """ Image url of current playing media. """ if 'artwork_url' in self._status: - return self._status['artwork_url'] - return ('http://{server}:{port}/music/current/cover.jpg?' - 'player={player}').format(server=self._lms.host, - port=self._lms.http_port, - player=self._id) + media_url = self._status['artwork_url'] + else: + media_url = ('/music/current/cover.jpg?' + 'player={player}&' + 'nocache={nocache}').format( + player=self._id, + nocache=hash(self.media_title)) + + base_url = 'http://{server}:{port}/'.format(server=self._lms.host, + port=self._lms.http_port) + + return urllib.parse.urljoin(base_url, media_url) @property def media_title(self):