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

Clean get track data code

parent 477f3cfd
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,19 +212,37 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -212,19 +212,37 @@ 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)
track_data['track_image_url'] = track_image_url
except Exception as e:
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( imageLST.append(
xbmcgui.ListItem( xbmcgui.ListItem(
track_name, thumbnailImage=image_url) track_name,
thumbnailImage=track_image_url
)
) )
except Exception as e:
self.log('failed to get track data ' + str(e), xbmc.LOGERROR)
return imageLST return imageLST
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment