Better fix for non-unicode artist names being passed into artistlist_to_mbids

This commit is contained in:
rembo10
2012-11-05 13:26:27 -05:00
parent e7abd49e83
commit 7f2671e6c3
2 changed files with 10 additions and 11 deletions

View File

@@ -49,6 +49,16 @@ def artistlist_to_mbids(artistlist, forced=False):
if not artist and not (artist == ' '):
continue
# If adding artists through Manage New Artists, there coming through as non-unicode (utf-8?)
# and screwing everything up
if not isinstance(artist, unicode):
try:
artist = artist.decode('utf-8', 'replace')
except:
logger.warn("Unable to convert artist to unicode so cannot do a database lookup")
continue
results = mb.findArtist(artist, limit=1)
if not results:

View File

@@ -407,17 +407,6 @@ def getTracksFromRelease(release):
# Used when there is a disambiguation
def findArtistbyAlbum(name):
# Somehow non unicode is getting passed into this function?
if not isinstance(name, unicode):
try:
name = name.decode('latin-1', 'replace')
except:
try:
name = name.decode(headphones.SYS_ENCODING, 'replace')
except:
logger.warn("Unable to convert artist to unicode so cannot do a database lookup")
return False
myDB = db.DBConnection()
artist = myDB.action('SELECT AlbumTitle from have WHERE ArtistName=? AND AlbumTitle IS NOT NULL ORDER BY RANDOM()', [name]).fetchone()