From c1a9b13b7c7c565a431e7aa0c4234327c87ccbf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz> Date: Tue, 19 Apr 2016 11:10:35 +0200 Subject: [PATCH] Fixed first client's access without id (IndexError: tuple index out of range) (thanks to Radko Krkos) --- warden3/warden_server/warden_server.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/warden3/warden_server/warden_server.py b/warden3/warden_server/warden_server.py index 322ea13..898b27f 100755 --- a/warden3/warden_server/warden_server.py +++ b/warden3/warden_server/warden_server.py @@ -726,10 +726,15 @@ class MySQL(ObjectReq): def getLastReceivedId(self, client): - row = self.query("SELECT event_id as id FROM last_events WHERE client_id = %s ORDER BY last_events.id DESC LIMIT 1", (client.id,))[0] - - id = row['id'] if row is not None else 0 - logging.debug("getLastReceivedId: id %i for client %i(%s)" % (id, client.id, client.hostname)) + res = self.query("SELECT event_id as id FROM last_events WHERE client_id = %s ORDER BY last_events.id DESC LIMIT 1", client.id) + try: + row = res[0] + except IndexError: + id = None + logging.debug("getLastReceivedId: probably first access, unable to get id for client %i(%s)" % (client.id, client.hostname)) + else: + id = row["id"] + logging.debug("getLastReceivedId: id %i for client %i(%s)" % (id, client.id, client.hostname)) return id -- GitLab