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

Get artists from API, display in screen and notification

parent 08e24fc1
No related branches found
No related tags found
1 merge request!19Resolve "Improve artist/title/album display"
This commit is part of merge request !19. Comments created here will be created in the context of that merge request.
<?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.
Please register or to comment