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"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.spotify.screensaver" <addon id="script.spotify.screensaver"
name="Spotify Screensaver" name="Spotify Screensaver"
version="0.0.14" version="0.0.15"
provider-name="Benoît Harrault"> provider-name="Benoît Harrault">
<requires> <requires>
<import addon="xbmc.python" version="2.25.0"/> <import addon="xbmc.python" version="2.25.0"/>
......
...@@ -151,16 +151,15 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -151,16 +151,15 @@ class GUI(xbmcgui.WindowXMLDialog):
track_data = self._get_track_data(track_id) track_data = self._get_track_data(track_id)
track_name = track_data.get('track_name') track_name = track_data.get('track_name')
track_artists = track_data.get('track_artists')
track_image_url = track_data.get('track_image_url') track_image_url = track_data.get('track_image_url')
if (track_name is None) or (track_image_url is None): notification = (
self.log('failed to get track data', xbmc.LOGERROR) 'Notification("Next:", "' + ', '.join(track_artists)
else: + ' - ' + track_name
notification = ( + '", 29000, ' + track_image_url + ')'
'Notification("Next:", ' + track_name )
+ ', 29000, ' + track_image_url + ')' xbmc.executebuiltin(notification)
)
xbmc.executebuiltin(notification)
def _reload_images(self, track_id): def _reload_images(self, track_id):
self.log('load images for track: ' + track_id) self.log('load images for track: ' + track_id)
...@@ -193,6 +192,7 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -193,6 +192,7 @@ class GUI(xbmcgui.WindowXMLDialog):
data = response.json() data = response.json()
track_data['track_name'] = data.get('name', '') track_data['track_name'] = data.get('name', '')
track_data['track_artists'] = []
# album/track image # album/track image
album = data.get('album') album = data.get('album')
...@@ -210,6 +210,28 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -210,6 +210,28 @@ class GUI(xbmcgui.WindowXMLDialog):
else: else:
self.log('ok got album from API') self.log('ok got album from API')
self.log(json.dumps(album)) 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') images = album.get('images')
if images is None: if images is None:
self.log('failed to get images from API', xbmc.LOGERROR) self.log('failed to get images from API', xbmc.LOGERROR)
...@@ -244,17 +266,15 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -244,17 +266,15 @@ class GUI(xbmcgui.WindowXMLDialog):
track_data = self._get_track_data(track_id) track_data = self._get_track_data(track_id)
track_name = track_data.get('track_name') track_name = track_data.get('track_name')
track_artists = track_data.get('track_artists')
track_image_url = track_data.get('track_image_url') track_image_url = track_data.get('track_image_url')
if (track_name is None) or (track_image_url is None): imageLST.append(
self.log('failed to get track data', xbmc.LOGERROR) xbmcgui.ListItem(
else: ', '.join(track_artists) + ' - ' + track_name,
imageLST.append( thumbnailImage=track_image_url
xbmcgui.ListItem(
track_name,
thumbnailImage=track_image_url
)
) )
)
return imageLST return imageLST
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<textcolor>ffffffff</textcolor> <textcolor>ffffffff</textcolor>
<shadowcolor>ff000000</shadowcolor> <shadowcolor>ff000000</shadowcolor>
<info>ListItem.Label</info> <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> </control>
</focusedlayout > </focusedlayout >
</control> </control>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment