Hello.
I'd like to share with whoever interested, that to get rid of endless
backtraces inside pyicqt log, that look like this:
[2007-11-29 14:07:19] Traceback (most recent call last):
File "/usr/share/pyicqt/src/tlib/oscar.py", line 648, in dataReceived
state=func(flap)
File "/usr/share/pyicqt/src/tlib/oscar.py", line 757, in oscar_Data
d.callback(snac)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 229, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 294, in _startRunCallbacks
self._runCallbacks()
--- <exception caught here> ---
File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py",
line 307, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/usr/share/pyicqt/src/legacy/icqt.py", line 330, in
sendAwayPresence
LogEvent(INFO, self.session.jabberID, "Away (%s, %s) message %s" %
(charset, msg[0], status))
exceptions.UnicodeDecodeError: 'utf8' codec can't decode bytes in
position 21-22: invalid data
the following patch/workaround may be used:
--- /usr/share/pyicqt/src/legacy/icqt.py.orig 2007-11-29 14:33:39.000000000
+0300
+++ /usr/share/pyicqt/src/legacy/icqt.py 2007-11-29 15:30:42.000000000
+0300
@@ -327,7 +327,10 @@
status = msg[0] + ": " + status
status = status.decode(charset, 'replace')
- LogEvent(INFO, self.session.jabberID, "Away (%s, %s)
message %s" % (charset, msg[0], status))
+ try:
+ LogEvent(INFO, self.session.jabberID, "Away
(%s, %s) message %s" % (charset, msg[0], status))
+ except UnicodeDecodeError:
+ LogEvent(INFO, self.session.jabberID, "Away
(%s, %s) message %s" % (charset, unicode(msg[0], config.encoding), status))
if status == "Away" or status=="I am currently away from the
computer." or status=="I am away from my computer right now.":
status = ""
_______________________________________________
py-transports mailing list
[email protected]
http://lists.modevia.com/cgi-bin/mailman/listinfo/py-transports