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

Merge branch '22-clean-get-track-data-code' into 'master'

Resolve "Clean get track data code"

Closes #22

See merge request !18
parents 477f3cfd 3652c990
No related branches found
No related tags found
1 merge request!18Resolve "Clean get track data code"
<?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.12" version="0.0.13"
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"/>
......
...@@ -154,7 +154,7 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -154,7 +154,7 @@ class GUI(xbmcgui.WindowXMLDialog):
self.log('load images for track: ' + track_id) self.log('load images for track: ' + track_id)
self.PanelItems = self.getControl(101) self.PanelItems = self.getControl(101)
self.PanelItems.reset() self.PanelItems.reset()
self.PanelItems.addItems(self._get_track_data(track_id)) self.PanelItems.addItems(self._build_items_list(track_id))
def _remove_images(self): def _remove_images(self):
self.log('no played track. remove images') self.log('no played track. remove images')
...@@ -165,7 +165,7 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -165,7 +165,7 @@ class GUI(xbmcgui.WindowXMLDialog):
self.log('track_id: [' + str(track_id) + ']') self.log('track_id: [' + str(track_id) + ']')
self.log('(try: ' + str(try_count) + ')') self.log('(try: ' + str(try_count) + ')')
imageLST = [] track_data = {}
headers = { headers = {
'Authorization': 'Bearer {token}'.format( 'Authorization': 'Bearer {token}'.format(
...@@ -180,7 +180,7 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -180,7 +180,7 @@ class GUI(xbmcgui.WindowXMLDialog):
) )
data = response.json() data = response.json()
track_name = data.get('name', '') track_data['track_name'] = data.get('name', '')
# album/track image # album/track image
album = data.get('album') album = data.get('album')
...@@ -212,20 +212,38 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -212,20 +212,38 @@ class GUI(xbmcgui.WindowXMLDialog):
else: else:
self.log('ok got image from API') self.log('ok got image from API')
self.log(json.dumps(image)) self.log(json.dumps(image))
image_url = image.get('url') track_image_url = image.get('url')
if image_url is None: if track_image_url is None:
self.log('failed to get image_url from API', xbmc.LOGERROR) self.log(
'failed to get track_image_url from API',
xbmc.LOGERROR)
self.log(json.dumps(image), xbmc.LOGERROR) self.log(json.dumps(image), xbmc.LOGERROR)
else: else:
self.log('ok got image_url from API') self.log('ok got track_image_url from API')
self.log(image_url) self.log(track_image_url)
imageLST.append( track_data['track_image_url'] = track_image_url
xbmcgui.ListItem(
track_name, thumbnailImage=image_url)
)
except Exception as e: except Exception as e:
self.log('failed to get track data ' + str(e), xbmc.LOGERROR) self.log('failed to get track data ' + str(e), xbmc.LOGERROR)
return track_data
def _build_items_list(self, track_id):
imageLST = []
track_data = self._get_track_data(track_id)
track_name = track_data.get('track_name')
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
)
)
return imageLST return imageLST
def onFocus(self, controlId): def onFocus(self, controlId):
......
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