Skip to content
Snippets Groups Projects
Commit 9a6ca42c authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Merge branch '4-improve-artist-title-album-display' into 'master'

Resolve "Improve artist/title/album display"

Closes #4

See merge request !19
parents 08e24fc1 1289f906
No related branches found
No related tags found
1 merge request!19Resolve "Improve artist/title/album display"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.spotify.screensaver"
name="Spotify Screensaver"
version="0.0.14"
version="0.0.15"
provider-name="Benoît Harrault">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
......
......@@ -151,16 +151,15 @@ class GUI(xbmcgui.WindowXMLDialog):
track_data = self._get_track_data(track_id)
track_name = track_data.get('track_name')
track_artists = track_data.get('track_artists')
track_image_url = track_data.get('track_image_url')
if (track_name is None) or (track_image_url is None):
self.log('failed to get track data', xbmc.LOGERROR)
else:
notification = (
'Notification("Next:", ' + track_name
+ ', 29000, ' + track_image_url + ')'
)
xbmc.executebuiltin(notification)
notification = (
'Notification("Next:", "' + ', '.join(track_artists)
+ ' - ' + track_name
+ '", 29000, ' + track_image_url + ')'
)
xbmc.executebuiltin(notification)
def _reload_images(self, track_id):
self.log('load images for track: ' + track_id)
......@@ -193,6 +192,7 @@ class GUI(xbmcgui.WindowXMLDialog):
data = response.json()
track_data['track_name'] = data.get('name', '')
track_data['track_artists'] = []
# album/track image
album = data.get('album')
......@@ -210,6 +210,28 @@ class GUI(xbmcgui.WindowXMLDialog):
else:
self.log('ok got album from API')
self.log(json.dumps(album))
# get artists
artists = album.get('artists')
if artists is None:
self.log('failed to get artists from API', xbmc.LOGERROR)
self.log(json.dumps(album), xbmc.LOGERROR)
else:
self.log('ok got artists from API')
self.log(json.dumps(artists))
for artist in artists:
artist_name = artist.get('name')
if artist_name is None:
self.log(
'failed to get artist_name from API',
xbmc.LOGERROR)
self.log(json.dumps(artist), xbmc.LOGERROR)
else:
self.log('ok got artist_name from API')
self.log(json.dumps(artist_name))
track_data['track_artists'].append(artist_name)
# get images
images = album.get('images')
if images is None:
self.log('failed to get images from API', xbmc.LOGERROR)
......@@ -244,17 +266,15 @@ class GUI(xbmcgui.WindowXMLDialog):
track_data = self._get_track_data(track_id)
track_name = track_data.get('track_name')
track_artists = track_data.get('track_artists')
track_image_url = track_data.get('track_image_url')
if (track_name is None) or (track_image_url is None):
self.log('failed to get track data', xbmc.LOGERROR)
else:
imageLST.append(
xbmcgui.ListItem(
track_name,
thumbnailImage=track_image_url
)
imageLST.append(
xbmcgui.ListItem(
', '.join(track_artists) + ' - ' + track_name,
thumbnailImage=track_image_url
)
)
return imageLST
......
......@@ -59,7 +59,7 @@
<textcolor>ffffffff</textcolor>
<shadowcolor>ff000000</shadowcolor>
<info>ListItem.Label</info>
<animation effect="fade" start="100" end="0" time="25000" condition="True">Conditional</animation>
<animation effect="fade" start="100" end="0" time="120000" condition="True">Conditional</animation>
</control>
</focusedlayout >
</control>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment