From 041893aaf9d9201ec3322824f6ede5bd5166805c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 5 Aug 2012 13:47:48 +0200 Subject: [PATCH] Socket driver: encode strings just before sending them. --- src/drivers/Socket.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/drivers/Socket.py b/src/drivers/Socket.py index e68168553..0c2e28b74 100644 --- a/src/drivers/Socket.py +++ b/src/drivers/Socket.py @@ -115,14 +115,13 @@ class SocketDriver(drivers.IrcDriver, drivers.ServersMixin): while msgs[-1] is not None: msgs.append(self.irc.takeMsg()) del msgs[-1] - if sys.version_info[0] < 3: - self.outbuffer += ''.join(imap(str, msgs)) - else: - self.outbuffer += b''.join([x.encode(errors='replace') - for x in msgs]) + self.outbuffer += ''.join(imap(str, msgs)) if self.outbuffer: try: - sent = self.conn.send(self.outbuffer) + if sys.version_info[0] < 3: + sent = self.conn.send(self.outbuffer) + else: + sent = self.conn.send(self.outbuffer.encode()) self.outbuffer = self.outbuffer[sent:] self.eagains = 0 except socket.error, e: