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]