Package: python-eyed3 Version: 0.6.3-1 Severity: normal Tags: patch If an ID3 tag contains a date frame consisting of a \0 byte and nothing else, eyed3 makes an attempt to strip the \0 byte out. There are in fact two pieces of code which try to do that: one using the unicode.strip method, and one with an explicit loop. The latter coincidentally converts the string from unicode to str. In a subsequent iteration of the loop, that causes an assertion that the string is of type unicode to fail.
Patch below. *** eyed3.diff --- eyeD3/frames.py.orig 2004-11-23 01:19:59.000000000 +0000 +++ eyeD3/frames.py 2005-03-17 13:17:16.000000000 +0000 @@ -633,14 +633,9 @@ self.date = d; else: assert(isinstance(d, unicode)); - d = d.strip("\x00"); # Witnessed oddball tags with NULL bytes (ozzy.tag from id3lib) - strippedDate = ""; - for c in d: - if ord(c) != 0: - strippedDate += c; - d = strippedDate; + d = d.strip("\x00"); try: self.date = time.strptime(d, fmt); -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing'), (50, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.8-2-686 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages python-eyed3 depends on: ii python 2.3.4-5 An interactive high-level object-o -- no debconf information -- Aaron Crane -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]