From 1f3d2577f0463061bcf657df1e7107aa5630ec04 Mon Sep 17 00:00:00 2001 From: urlbot Date: Mon, 11 Aug 2014 23:32:40 +0200 Subject: [PATCH] wrapped unicode() and ''.encode('utf8') inside exception --- eventlooper.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/eventlooper.py b/eventlooper.py index 28a44d8..e3555d4 100755 --- a/eventlooper.py +++ b/eventlooper.py @@ -88,8 +88,16 @@ def chat_write(message, prefix='/say '): else: try: fd = open(fifo_path, 'wb') - msg = unicode(prefix) + unicode(message) + '\n' - fd.write(msg.encode('utf8')) + + # FIXME: somehow, unicode chars can end up inside a message, + # which seems to make both unicode() and ''.encode('utf8') fail. + try: + msg = unicode(prefix) + unicode(message) + '\n' + msg.encode('utf8') + except UnicodeDecodeError: + msg = prefix + message + '\n' + + fd.write(msg) fd.close() except IOError: logger('err', "couldn't print to fifo " + fifo_path)