From fa9a24cbc5b3de35834be0066e35874f43831b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Wed, 2 Mar 2022 16:22:22 +0100 Subject: [PATCH] Improve check spotify events file exists, clean some code --- addon.xml | 2 +- gui.py | 26 +++++++++++++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/addon.xml b/addon.xml index 3d0bc40..1d24d4a 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="script.spotify.screensaver" name="Spotify Screensaver" - version="0.0.3" + version="0.0.4" provider-name="Benoît Harrault"> <requires> <import addon="xbmc.python" version="2.25.0"/> diff --git a/gui.py b/gui.py index 799eb18..e649d4e 100644 --- a/gui.py +++ b/gui.py @@ -89,7 +89,12 @@ class GUI(xbmcgui.WindowXMLDialog): self.next = False countdown = self.slideshow_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 xbmc.sleep(1000) new_last_spotify_event = self._get_last_spotify_event() @@ -109,7 +114,6 @@ class GUI(xbmcgui.WindowXMLDialog): self.log('spotify event: ' + spotify_event) event_split = spotify_event.split(':') - event_device = event_split[0] event_type = event_split[1] event_value = event_split[2] if len(event_split) > 2 else '' @@ -137,12 +141,16 @@ class GUI(xbmcgui.WindowXMLDialog): imageLST = [] headers = { - 'Authorization': 'Bearer {token}'.format(token=self.spotify_access_token) + 'Authorization': 'Bearer {token}'.format( + token=self.spotify_access_token + ) } try: - response = requests.get(SPOTIFY_API_BASE_URL + 'tracks/' + - track_id, headers=headers) + response = requests.get( + SPOTIFY_API_BASE_URL + 'tracks/' + track_id, + headers=headers + ) data = response.json() track_name = data['name'] @@ -156,7 +164,7 @@ class GUI(xbmcgui.WindowXMLDialog): xbmcgui.ListItem(track_name, thumbnailImage=image_url) ) 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 @@ -171,8 +179,12 @@ class GUI(xbmcgui.WindowXMLDialog): self.close() 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] + finally: + f.close() + last_event = ''.join(last_event.splitlines()) return last_event -- GitLab