Fix character encodings and album name.
authorstephendenham <stephendenham@2dec19e3-eb1d-4749-8193-008c8bba0994>
Sun, 25 Aug 2013 12:26:18 +0000 (12:26 +0000)
committerstephendenham <stephendenham@2dec19e3-eb1d-4749-8193-008c8bba0994>
Sun, 25 Aug 2013 12:26:18 +0000 (12:26 +0000)
git-svn-id: svn://svn.code.sf.net/p/xbmc-groove/code@88 2dec19e3-eb1d-4749-8193-008c8bba0994

addon.xml
changelog.txt
resources/lib/GroovesharkAPI.py

index 1488e32..a45509e 100644 (file)
--- a/addon.xml
+++ b/addon.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.audio.groove" name="Grooveshark XBMC"
-       version="2.0.3" provider-name="Stephen Denham">
+       version="2.0.4" provider-name="Stephen Denham">
        <requires>
                <import addon="xbmc.python" version="2.1.0" />
                <import addon="script.module.simplejson"/>
index 9e3cc11..4f8c97e 100644 (file)
@@ -1,3 +1,7 @@
+2.0.4
+
+Fix character encodings and album name.
+
 2.0.3
 
 Python coding bug fixes.
index 2a164df..9b8feda 100644 (file)
@@ -312,7 +312,7 @@ class GrooveAPI:
                if 'result' in result and 'SongID' in result['result']:
                        info = result['result']
                        if 'CoverArtFilename' in info and info['CoverArtFilename'] != None:
-                               info['CoverArtFilename'] = THUMB_URL+info['CoverArtFilename'].encode('ascii', 'ignore')
+                               info['CoverArtFilename'] = THUMB_URL+info['CoverArtFilename'].encode('utf8', 'ignore')
                        else:
                                info['CoverArtFilename'] = 'None'
                        return info
@@ -401,7 +401,7 @@ class GrooveAPI:
                        artists = items['result']['artists']
                        while(i < len(artists)):
                                s = artists[i]
-                               itemList.append([s['artistName'].encode('ascii', 'ignore'),\
+                               itemList.append([s['artistName'].encode('utf8', 'ignore'),\
                                s['artistID']])
                                i = i + 1
                        return itemList
@@ -481,18 +481,22 @@ class GrooveAPI:
                                        info = self.getSongsInfo(s['SongID'])
                                        coverart = info['CoverArtFilename']
                                elif s['CoverArtFilename'] != None:
-                                       coverart = THUMB_URL+s['CoverArtFilename'].encode('ascii', 'ignore')
+                                       coverart = THUMB_URL+s['CoverArtFilename'].encode('utf8', 'ignore')
                                else:
                                        coverart = 'None'
                                if 'Name' in s:
                                        name = s['Name']
                                else:
                                        name = s['SongName']
-                               itemList.append([name.encode('ascii', 'ignore'),\
+                               if 'AlbumName' in s:
+                                       albumName = s['AlbumName']
+                               else:
+                                       albumName = ""
+                               itemList.append([name.encode('utf8', 'ignore'),\
                                s['SongID'],\
-                               name,\
+                               albumName.encode('utf8', 'ignore'),\
                                s['AlbumID'],\
-                               s['ArtistName'].encode('ascii', 'ignore'),\
+                               s['ArtistName'].encode('utf8', 'ignore'),\
                                s['ArtistID'],\
                                coverart])
                                i = i + 1
@@ -508,7 +512,7 @@ class GrooveAPI:
                        artists = items['result']['artists']
                        while(i < len(artists)):
                                s = artists[i]
-                               itemList.append([s['ArtistName'].encode('ascii', 'ignore'),\
+                               itemList.append([s['ArtistName'].encode('utf8', 'ignore'),\
                                s['ArtistID']])
                                i = i + 1
                        return itemList
@@ -531,14 +535,14 @@ class GrooveAPI:
                        while(i < l):
                                s = albums[i]
                                if 'Name' in s:
-                                       name = s['Name'].encode('ascii', 'ignore')
+                                       name = s['Name'].encode('utf8', 'ignore')
                                else:
-                                       name = s['AlbumName'].encode('ascii', 'ignore')
+                                       name = s['AlbumName'].encode('utf8', 'ignore')
                                if 'CoverArtFilename' in s and s['CoverArtFilename'] != None:
-                                       coverart = THUMB_URL+s['CoverArtFilename'].encode('ascii', 'ignore')
+                                       coverart = THUMB_URL+s['CoverArtFilename'].encode('utf8', 'ignore')
                                else:
                                        coverart = 'None'
-                               itemList.append([s['ArtistName'].encode('ascii', 'ignore'),\
+                               itemList.append([s['ArtistName'].encode('utf8', 'ignore'),\
                                s['ArtistID'],\
                                name,\
                                s['AlbumID'],\