[Mailman-Users] UnicodeDecodeError in Commands/cmd_subscribe.py

Tokio Kikuchi tkikuchi at is.kochi-u.ac.jp
Mon Jan 24 01:21:38 CET 2005


Hi,

David Relson wrote:

> Greetings,
> 
> I just noticed this Traceback (and several older ones just like it):
> 
> Jan 23 14:28:08 2005 (1640) Traceback (most recent call last):
>   File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
>     self._onefile(msg, msgdata)
>   File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
>     keepqueued = self._dispose(mlist, msg, msgdata)
>   File "/usr/lib/mailman/Mailman/Queue/CommandRunner.py", line 239, in _dispose
>     res.do_command('join')
>   File "/usr/lib/mailman/Mailman/Queue/CommandRunner.py", line 137, in do_command
>     return handler.process(self, args)
>   File "/usr/lib/mailman/Mailman/Commands/cmd_subscribe.py", line 87, in process
>     h = make_header(decode_header(realname))
>   File "/home/relson/tmp/RPM/mailman-buildroot/usr/lib/mailman/pythonlib/email/Header.py", line 144, in make_header
>   File "/home/relson/tmp/RPM/mailman-buildroot/usr/lib/mailman/pythonlib/email/Header.py", line 272, in append
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xb3 in position 0: ordinal not in range(128)
> 
> Looking at the code, it looks like the fix should be (roughly) what's below.  Am I close???

This was fixed in CVS in a different way. This person should however fix 
his MUA to send MIME compliant user address. Thank you for reporting.

> 
> Regards,
> 
> David
> 
> --- Mailman/Commands/cmd_subscribe.py.orig	2004-09-02 08:45:52.000000000 -0400
> +++ Mailman/Commands/cmd_subscribe.py	2005-01-23 14:38:19.000000000 -0500
> @@ -83,12 +83,12 @@
>          if not address:
>              res.results.append(_('No valid address found to subscribe'))
>              return STOP
> -        # Watch for encoded names
> -        h = make_header(decode_header(realname))
> -        # BAW: in Python 2.2, use just unicode(h)
> -        realname = h.__unicode__()
> -        # Coerce to byte string if uh contains only ascii
>          try:
> +            # Watch for encoded names
> +            h = make_header(decode_header(realname))
> +            # BAW: in Python 2.2, use just unicode(h)
> +            realname = h.__unicode__()
> +            # Coerce to byte string if uh contains only ascii
>              realname = realname.encode('us-ascii')
>          except UnicodeError:
>              pass
> 

-- 
Tokio Kikuchi, tkikuchi@ is.kochi-u.ac.jp
http://weather.is.kochi-u.ac.jp/




More information about the Mailman-Users mailing list