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"
<?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,14 +151,13 @@ 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 + ')'
'Notification("Next:", "' + ', '.join(track_artists)
+ ' - ' + track_name
+ '", 29000, ' + track_image_url + ')'
)
xbmc.executebuiltin(notification)
......@@ -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,14 +266,12 @@ 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,
', '.join(track_artists) + ' - ' + track_name,
thumbnailImage=track_image_url
)
)
......
......@@ -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 to comment