Package: python-eyed3 Version: 0.6.14-1 Severity: normal Hello,
when I try to update a tag with non-ascii charachters in the comment field I get an UnicodeEncodeError (traceback below). I think, the reason is a missing `encode' call in the Tag.__saveV1Tag method. All other fields are encoded using 'latin-1' but comment is not encoded. Example Traceback: File "/home/eike/python/audiofile.py", line 302, in writeFile if not tag.update(eyeD3.ID3_V1_1): File "/var/lib/python-support/python2.5/eyeD3/tag.py", line 520, in update self.__saveV1Tag(version); File "/var/lib/python-support/python2.5/eyeD3/tag.py", line 1064, in __saveV1Tag cmt = self._fixToWidth(cmt, 30); File "/var/lib/python-support/python2.5/eyeD3/tag.py", line 1096, in _fixToWidth retval = str(s); UnicodeEncodeError: 'ascii' codec can't encode characters in position 56-59: ordinal not in range(128) I added the missing encode call in file tag.py and it worked for me. Patch is attached. Regards eike -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (990, 'testing'), (102, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages python-eyed3 depends on: ii python 2.4.4-6 An interactive high-level object-o ii python-support 0.7.6 automated rebuilding support for p python-eyed3 recommends no packages. -- no debconf information
--- tag.py-orig 2007-05-08 04:17:44.000000000 +0200 +++ tag.py 2008-02-17 23:22:42.000000000 +0100 @@ -1061,7 +1061,7 @@ elif c.description == "": cmt = c.comment; # Keep searching in case we find the description eyeD3 uses. - cmt = self._fixToWidth(cmt, 30); + cmt = self._fixToWidth(cmt.encode("latin_1"), 30); if version != ID3_V1_0: track = self.getTrackNum()[0]; if track != None: