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

Merge branch '9-improve-missing-events-file-detection-fallback' into 'master'

Resolve "Improve missing events file detection / fallback"

Closes #9

See merge request !5
parents f313c8e7 fa9a24cb
No related branches found
No related tags found
1 merge request!5Resolve "Improve missing events file detection / fallback"
<?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.3" version="0.0.4"
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"/>
......
...@@ -89,7 +89,12 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -89,7 +89,12 @@ class GUI(xbmcgui.WindowXMLDialog):
self.next = False self.next = False
countdown = self.slideshow_time countdown = self.slideshow_time
# display the image for the specified amount of time # display the image for the specified amount of time
while (not self.Monitor.abortRequested()) and (not self.stop) and (not self.next) and countdown > 0: while (
(not self.Monitor.abortRequested())
and (not self.stop)
and (not self.next)
and countdown > 0
):
countdown -= 1 countdown -= 1
xbmc.sleep(1000) xbmc.sleep(1000)
new_last_spotify_event = self._get_last_spotify_event() new_last_spotify_event = self._get_last_spotify_event()
...@@ -109,7 +114,6 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -109,7 +114,6 @@ class GUI(xbmcgui.WindowXMLDialog):
self.log('spotify event: ' + spotify_event) self.log('spotify event: ' + spotify_event)
event_split = spotify_event.split(':') event_split = spotify_event.split(':')
event_device = event_split[0]
event_type = event_split[1] event_type = event_split[1]
event_value = event_split[2] if len(event_split) > 2 else '' event_value = event_split[2] if len(event_split) > 2 else ''
...@@ -137,12 +141,16 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -137,12 +141,16 @@ class GUI(xbmcgui.WindowXMLDialog):
imageLST = [] imageLST = []
headers = { headers = {
'Authorization': 'Bearer {token}'.format(token=self.spotify_access_token) 'Authorization': 'Bearer {token}'.format(
token=self.spotify_access_token
)
} }
try: try:
response = requests.get(SPOTIFY_API_BASE_URL + 'tracks/' + response = requests.get(
track_id, headers=headers) SPOTIFY_API_BASE_URL + 'tracks/' + track_id,
headers=headers
)
data = response.json() data = response.json()
track_name = data['name'] track_name = data['name']
...@@ -156,7 +164,7 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -156,7 +164,7 @@ class GUI(xbmcgui.WindowXMLDialog):
xbmcgui.ListItem(track_name, thumbnailImage=image_url) xbmcgui.ListItem(track_name, thumbnailImage=image_url)
) )
except Exception as e: except Exception as e:
self.log('failed to get track data', xbmc.LOGERROR) self.log('failed to get track data ' + e.toString(), xbmc.LOGERROR)
return imageLST return imageLST
...@@ -171,8 +179,12 @@ class GUI(xbmcgui.WindowXMLDialog): ...@@ -171,8 +179,12 @@ class GUI(xbmcgui.WindowXMLDialog):
self.close() self.close()
def _get_last_spotify_event(self): def _get_last_spotify_event(self):
with open(LIBRESPOT_EVENT_FILE, 'r') as f: try:
f = open(LIBRESPOT_EVENT_FILE, 'r')
last_event = f.readlines()[-1] last_event = f.readlines()[-1]
finally:
f.close()
last_event = ''.join(last_event.splitlines()) last_event = ''.join(last_event.splitlines())
return last_event return last_event
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment