xbmc = _xbmc
return xbmc
-SONG_PROPERTIES = ['album', 'artist', 'albumartist', 'dateadded', 'rating', 'displayartist']
+SONG_PROPERTIES = ['album', 'artist', 'albumartist', 'dateadded', 'userrating', 'displayartist']
PAGE_SELF = os.environ['SCRIPT_NAME'] if 'SCRIPT_NAME' in os.environ else ''
class Song:
self.kodi_id = song['id']
# the playlist will not update things like ratings if we
# update via RPC. Just grab it from the library instead.
- if 'rating' in song:
- libsong = xbmc.AudioLibrary.GetSongDetails (songid = song['id'], properties = ['rating'])
+ if 'userrating' in song:
+ libsong = xbmc.AudioLibrary.GetSongDetails (songid = song['id'], properties = ['userrating'])
#print (libsong)
if 'result' in libsong and 'songdetails' in libsong['result']:
- song['rating'] = libsong['result']['songdetails']['rating']
+ song['userrating'] = libsong['result']['songdetails']['userrating']
elif 'songid' in song:
# search results
self.key = hashlib.sha256(str(song['songid'])).hexdigest()
# videos can still be labeled as songs, but the rating will be a
# float...
- if 'rating' in song and isinstance (song['rating'], numbers.Integral):
- self.rating = song['rating']
+ if 'userrating' in song and isinstance (song['userrating'], numbers.Integral):
+ self.rating = song['userrating']
else:
self.rating = -1 # might be better to use None here
with doc.option (value = 0):
text ('na')
for i in range (1,6):
- with doc.option (value = i):
+ with doc.option (value = i*2):
text (str (i))
doc.stag ('input', type = 'hidden', name = 'songkodiid', value = self.song.kodi_id)
newrating = int(form['songrating'].value)
print (songid)
print (newrating)
- print_escaped (xbmc.AudioLibrary.SetSongDetails (songid = songid, rating = newrating))
+ print_escaped (xbmc.AudioLibrary.SetSongDetails (songid = songid, userrating = newrating))
print_escaped (u'Rating Changed')
elif 'browseartists' in form:
artists = xbmc.AudioLibrary.GetArtists (sort={'order': 'ascending', 'method': 'artist'})['result']['artists']