From 546c723995b64a6298a5f17160e1d33a03a4830e Mon Sep 17 00:00:00 2001 From: Maurizio Porrato Date: Sat, 4 Sep 2010 15:35:24 +0200 Subject: [PATCH] Fix client sorting bug --- frn/clienttracker.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/frn/clienttracker.py b/frn/clienttracker.py index d8ee5df..9b25b13 100644 --- a/frn/clienttracker.py +++ b/frn/clienttracker.py @@ -18,16 +18,17 @@ def client_cmp(a, b): except: tb = CLIENTS_ORDER.index('Gateway') if ta < tb: - return -1 + r = -1 elif ta > tb: - return 1 + r = 1 else: if a.ON < b.ON: - return -1 + r = -1 elif a.ON > b.ON: - return 1 + r = 1 else: - return 0 + r = 0 + return r class ClientTracker(object): @@ -116,11 +117,13 @@ class ClientTracker(object): self._clientData[clientId] = client net = client.user.NT nc = self._net.get(net, []) - ni = 0 + ni = None for i, c in enumerate(nc): - if client_cmp(client.user, self._clientData[c]) > 0: + if client_cmp(client.user, self._clientData[c].user) < 0: ni = i break + if ni is None: + ni = len(nc) nc.insert(ni, clientId) self._net[net] = nc if clientId in self._mute: