I did some further debugging on this tonight, using another track that showed the same problems.
(Pdb) id3.version (2, 3, 0) (Pdb) data '\x00Bill Evans\x00\x00' (Pdb) frame TPE1(encoding=0, text=[u'Bill Evans', u'']) (Pdb) frame.pprint() u'TPE1=Bill Evans / ' I think there's an issue with differences between 2.3 and 2.4 not being handled. http://www.id3.org/id3v2.3.0#head-05145d86196104464db40d63035e402ee3c504e7 says: > If the textstring is followed by a termination ($00 (00)) all the > following information should be ignored and not be displayed. Since the id3.version is identified as 2.3, it should drop everything after the first terminating null byte, instead of splitting it into a list, which then leads to the pretty printer joining those parts with a slash -- in violation of the spec. At the moment I'm just doing this: --- id3-orig.py 2009-05-05 22:52:55.000000000 -0400 +++ id3.py 2009-05-06 02:47:06.000000000 -0400 @@ -1040,7 +1040,7 @@ except zlibError, err: if id3.PEDANTIC: raise ID3BadCompressedData, '%s: %r' % (err, data) - + data = data.rstrip("\x00") frame = cls() frame._rawdata = data frame._flags = tflags which fixes my particular issue, but probably doesn't address the real problem. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org