Package: python2.3-xmms Version: 2.04-2 Severity: important Tags: patch I just received a bugreport against iPodder (see #326890), and I believe, that python-xmms behaves wrongly here. I was able to add non-ASCII filenames to the XMMS playlist without an exception after making the changes below which make sure that each filename is UTF8-encoded.
To my knowledge, this does not break any ASCII pathnames, but it might be better to check for the current locale or something here. Traceback (most recent call last): File "./iPodderGui.py", line 2563, in OnEpisodesListLeftDown self.PlayEpisode(path) File "./iPodderGui.py", line 2625, in PlayEpisode self.ipodder.config.player.play_file(path,rude=True) File "/home/bengen/src/deb/ipodder/ipodder/ipodder/players.py", line 151, in play_file xmms.enqueue_and_play_launch_if_session_not_started( [ filename ] ) File "/usr/lib/python2.3/site-packages/xmms/control.py", line 368, in enqueue_and_play_launch_if_session_not_started enqueue_and_play(seq, session) File "/usr/lib/python2.3/site-packages/xmms/control.py", line 294, in enqueue_and_play playlist_add_allow_relative(seq, session) File "/usr/lib/python2.3/site-packages/xmms/control.py", line 279, in playlist_add_allow_relative playlist_add(abs_seq, session) UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 68: ordinal not in range(128) --- pyxmms-2.04.orig/src/_xmmscontrolmodule.c +++ pyxmms-2.04/src/_xmmscontrolmodule.c @@ -313,7 +313,7 @@ { /* Retreive a string from the sequence */ item = PySequence_Fast_GET_ITEM(fast_seq, i); - if ((py_internal_str = PyString_AsString(item)) == NULL) + if ((py_internal_str = PyString_AsString(PyUnicode_AsUTF8String(item))) == NULL) goto error; /* In case xmms would write to py_internal_str ... */ @@ -391,7 +391,7 @@ for (i=0; i < seq_len; i++) { item = PySequence_Fast_GET_ITEM(fast_seq, i); - if ((str = PyString_AsString(item)) == NULL) + if ((str = PyString_AsString(PyUnicode_AsUTF8String(item))) == NULL) goto error; /* In case xmms would write to the string... */ -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-1-k7 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages python2.3-xmms depends on: ii libc6 2.3.5-6 GNU C Library: Shared libraries an ii libglib1.2 1.2.10-10 The GLib library of C routines ii python2.3 2.3.5-8 An interactive high-level object-o ii xmms 1.2.10+cvs20050209-2 Versatile X audio player that look python2.3-xmms recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]