Fix client sorting bug

This commit is contained in:
Maurizio Porrato 2010-09-04 15:35:24 +02:00
parent e382cdbc6e
commit 546c723995
1 changed files with 10 additions and 7 deletions

View File

@ -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: