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

Merge branch '19-improve-debug' into 'master'

Resolve "Improve debug"

Closes #19

See merge request !15
parents 760825cb 179e294d
No related branches found
No related tags found
1 merge request!15Resolve "Improve debug"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.spotify.screensaver"
name="Spotify Screensaver"
version="0.0.10"
version="0.0.11"
provider-name="Benoît Harrault">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
......
......@@ -3,6 +3,7 @@ import random
import xbmc
import xbmcaddon
import xbmcgui
import json
# Plugin data and configuration
ADDON_ID = 'script.spotify.screensaver'
......@@ -22,6 +23,9 @@ class GUI(xbmcgui.WindowXMLDialog):
self.isExiting = False
def log(self, msg, level=xbmc.LOGDEBUG):
if self.force_debug:
level = xbmc.LOGERROR
xbmc.log(ADDON_ID + ' - ' + ADDON_VERSION + ' - ' + msg, level)
def onInit(self):
......@@ -65,6 +69,8 @@ class GUI(xbmcgui.WindowXMLDialog):
self.spotify_client_secret = SETTINGS.getSetting(
'SpotifyClientSecret').decode('utf-8')
self.force_debug = SETTINGS.getSetting('ForceDebug') == 'true'
def _init_spotify_access_token(self):
auth_response = requests.post(SPOTIFY_AUTH_URL, {
'grant_type': 'client_credentials',
......@@ -137,27 +143,26 @@ class GUI(xbmcgui.WindowXMLDialog):
def _unimplemented_event_type(self, event_type, event_value):
self.log(
'unimplemented event type: ' + str(event_type)
+ ' (value: ' + str(event_value) + ')',
xbmc.LOGDEBUG
+ ' (value: ' + str(event_value) + ')'
)
def _preload_images(self, track_id):
self.log('preload images for track: ' + track_id, xbmc.LOGERROR)
self.log('preload images for track: ' + track_id)
self._get_track_data(track_id)
def _reload_images(self, track_id):
self.log('load images for track: ' + track_id, xbmc.LOGERROR)
self.log('load images for track: ' + track_id)
self.PanelItems = self.getControl(101)
self.PanelItems.reset()
self.PanelItems.addItems(self._get_track_data(track_id))
def _remove_images(self):
self.log('no played track. remove images', xbmc.LOGERROR)
self.log('no played track. remove images')
self.PanelItems = self.getControl(101)
self.PanelItems.reset()
def _get_track_data(self, track_id):
self.log('track_id: [' + str(track_id) + ']', xbmc.LOGERROR)
self.log('track_id: [' + str(track_id) + ']')
imageLST = []
......@@ -178,13 +183,33 @@ class GUI(xbmcgui.WindowXMLDialog):
# album/track image
album = data.get('album')
if album is not None:
if album is None:
self.log('failed to get album from API', xbmc.LOGERROR)
self.log(json.dumps(data), xbmc.LOGERROR)
else:
self.log('ok got album from API')
self.log(json.dumps(album))
images = album.get('images')
if images is not None:
if images is None:
self.log('failed to get images from API', xbmc.LOGERROR)
self.log(json.dumps(album), xbmc.LOGERROR)
else:
self.log('ok got images from API')
self.log(json.dumps(images))
image = images[0]
if image is not None:
if image is None:
self.log('failed to get image from API', xbmc.LOGERROR)
self.log(json.dumps(images), xbmc.LOGERROR)
else:
self.log('ok got image from API')
self.log(json.dumps(image))
image_url = image.get('url')
if image_url is not None:
if image_url is None:
self.log('failed to get image_url from API', xbmc.LOGERROR)
self.log(json.dumps(image), xbmc.LOGERROR)
else:
self.log('ok got image_url from API')
self.log(image_url)
imageLST.append(
xbmcgui.ListItem(
track_name, thumbnailImage=image_url)
......
......@@ -35,3 +35,7 @@ msgstr "Spotify Client Id"
msgctxt "#32005"
msgid "SpotifyClientSecret"
msgstr "Spotify Client Secret"
msgctxt "#32006"
msgid "ForceDebug"
msgstr "Force debug"
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<setting id="RotateTime" type="enum" label="32001" default="0" values="30s|60s|120s|240s"/>
<setting id="Randomize" type="bool" label="32002" default="false"/>
<setting id="Animate" type="bool" label="32003" default="false"/>
<setting id="RotateTime" type="enum" label="32001" default="0" values="30s|60s|120s|240s"/>
<setting id="Randomize" type="bool" label="32002" default="false"/>
<setting id="Animate" type="bool" label="32003" default="false"/>
<setting id="SpotifyClientId" type="text" label="32004" default="SpotifyClientId"/>
<setting id="SpotifyClientSecret" type="text" label="32005" default="SpotifyClientSecret"/>
<setting id="ForceDebug" type="bool" label="32006" default="false"/>
</settings>
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