From d6134d71a398df1318ef565a3f7ee0e2fe72738f Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 1 Nov 2017 13:56:44 +0000 Subject: Don't put non-kwargs after unpacked list, handle ConnectionResetError --- IRCBot.py | 3 ++- IRCServer.py | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/IRCBot.py b/IRCBot.py index 36f3b789..e87118e5 100644 --- a/IRCBot.py +++ b/IRCBot.py @@ -100,7 +100,8 @@ class Bot(object): def reconnect(self, event): server_details = self.database.get_server(event["server_id"]) - server = self.add_server(*server_details, False) + add_server_args = server_details + [False] + server = self.add_server(*add_server_args) if self.connect(server): self.servers[server.fileno()] = server else: diff --git a/IRCServer.py b/IRCServer.py index 0de4d854..2c17ed11 100644 --- a/IRCServer.py +++ b/IRCServer.py @@ -154,7 +154,12 @@ class Server(object): "encoding", "utf8") fallback_encoding = self.bot.database.get_server_setting( self.id, "fallback-encoding", "latin-1") - data = self.read_buffer + self.socket.recv(4096) + data = b"" + try: + data = self.read_buffer + self.socket.recv(4096) + except ConnectionResetError: + self.disconnect() + return [] self.read_buffer = b"" data_lines = [line.strip(b"\r") for line in data.split(b"\n")] if data_lines[-1]: -- cgit v1.3.1-10-gc9f91