Hi Eliot,
sorry for the now really late response, I hope you're still interested in fixing that bug.
On 12.07.08, Eliot Blennerhassett wrote:
I'm having some trouble with files that have accented characters in the Artist Tag.
Strangely enough, I also do have quite a number of artists with non-ascii characters in their name but don't have the problem your reporting.
In this case "Ali Farka Touré" (final accented 'e') Once this has been encountered, the UI is hung. If there was a current playlist, the first song still starts playing. If I edit the tag and replace the accented e with a normal one, all is ok.
Here's the debug log:
D [15:21:10|songdb manager service|services/songdb] dbrequest cache: sucessfully hashed request: -724533627 D [15:21:10|songdb manager service|hub] request: 'getartists'((tag!=G:Podcast, tag!=S:Deleted, 'compilation'=False))->'main' (priority 0) D [15:21:10|songdb manager service|hub] event: <hub.requestresponse instance at 0x848f10c> (priority 0) E [15:21:10|song database thread (id=main)|service] 'main' songdb service: caught exception: 'ascii' codec can't encode character u'\xe9' in position 21: ordinal not in range(128) D [15:21:10|song database thread (id=main)|log] Exception caught: 'ascii' codec can't encode character u'\xe9' in position 21: ordinal not in range(128) D [15:21:10|song database thread (id=main)|log] File "/home/eliot/lib/python/pytone/service.py", line 54, in run self.work() D [15:21:10|song database thread (id=main)|log] File "/home/eliot/lib/python/pytone/service.py", line 47, in work self.channel.process(block=True) D [15:21:10|song database thread (id=main)|log] File "/home/eliot/lib/python/pytone/hub.py", line 177, in process log.debug("got result %s for %s" % (`item.result`, `item.request`))
That's really where the problem occurs (in hub.py). The event and request hub processes a "getartists" request (see second line above), and reports the result for debugging purposes. Doing so, it evaluates the repr and interpolates that into the debugging output. I'm really not sure why that doesn't work...
I made a couple of small changes in SVN, maybe you can check whether that helped - I would be surprises, though. Maybe you can also play around a little bit.
Btw, what Python version are you using?
Cheers,
Jörg