A user of the Debian package of pymsnt reported the following bug in pymsnt:
[2007-08-03 18:15:00] INFO :: [EMAIL PROTECTED] :: ::
contactPersonalChanged :: msn.msnw.NotificationClient :: {'personal': 'In
qualche caso, la distinzione tra un ammasso globulare ed uno galattico pu\xf2
non risultare del tutto immediata:', 'self': 'instance', 'userHandle': '[EMAIL
PROTECTED]'}
...
File "/usr/share/pymsnt/src/legacy/msn/msnw.py", line 447, in
contactPersonalChanged
self.factory.msncon.contactStatusChanged(userHandle)
File "/usr/share/pymsnt/src/legacy/glue.py", line 486, in
contactStatusChanged
status = msnContact.personal.decode("utf-8")
File "encodings/utf_8.py", line 16, in decode
Note that the contact's status message contains a byte with the value
0xf2. This is not a valid UTF-8 sequence, but if the string is
interpreted as being in latin1 (or a variant like windows-1252) then it
corresponds with the ò character.
I did some testing myself and found that a contact of mine who uses
version 8.1 of the official MSN client on Windows, who put an ò
character in his status message did not trigger this exception for me.
But perhaps the bug reporter's contact was using a different version of
the client, that uses latin1 instead.
The bug submitter suggested changing line 486 of glue.py to read:
status = msnContact.personal.decode ('utf-8', 'replace')
Which seems reasonable. Another option is to try something like:
status = None
for e in ('utf-8', 'windows-1252'):
try:
status = msnContact.personal.decode (e)
except UnicodeDecodeError:
continue
if status == None: status = msnContact.personal.decode ('utf-8',
'replace')
i.e., try a sequence of known-possible encodings, and fall back to utf-8
in replace mode if the all fail.
Further details may be found at <http://bugs.debian.org/435853>. Please
keep [EMAIL PROTECTED] CC'd in replies so that the
messages go back to the Debian bug tracking system.
--
Sam Morris
http://robots.org.uk/
PGP key id 1024D/5EA01078
3412 EA18 1277 354B 991B C869 B219 7FDB 5EA0 1078
signature.asc
Description: This is a digitally signed message part

