From 03e07db9d54d5f8a84c077b67dab537c1933dba0 Mon Sep 17 00:00:00 2001 From: Remy Date: Tue, 23 Aug 2011 11:48:48 +0800 Subject: [PATCH] Fixed unicode errors on track matching --- headphones/librarysync.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/headphones/librarysync.py b/headphones/librarysync.py index 825ec8b8..81a7da4d 100644 --- a/headphones/librarysync.py +++ b/headphones/librarysync.py @@ -151,16 +151,18 @@ def libraryScan(dir=None): new_file_name = new_file_name.replace('?','_').replace(':', '_') - full_path_to_file = os.path.normpath(os.path.join(headphones.MUSIC_DIR, folder, new_file_name)).encode(headphones.SYS_ENCODING) + full_path_to_file = os.path.normpath(os.path.join(headphones.MUSIC_DIR, folder, new_file_name)).encode(headphones.SYS_ENCODING, 'replace') match = glob.glob(full_path_to_file) if match: logger.info('Found a match: %s. Writing MBID to metadata' % match[0]) + + unipath = unicode(match[0], headphones.SYS_ENCODING, errors='replace') - myDB.action('UPDATE tracks SET Location=? WHERE TrackID=?', [match[0], track['TrackID']]) - myDB.action('DELETE from have WHERE Location=?', [match[0]]) + myDB.action('UPDATE tracks SET Location=? WHERE TrackID=?', [unipath, track['TrackID']]) + myDB.action('DELETE from have WHERE Location=?', [unipath]) # Try to insert the appropriate track id so we don't have to keep doing this try: