Fix client sorting bug
This commit is contained in:
parent
e382cdbc6e
commit
546c723995
|
@ -18,16 +18,17 @@ def client_cmp(a, b):
|
||||||
except:
|
except:
|
||||||
tb = CLIENTS_ORDER.index('Gateway')
|
tb = CLIENTS_ORDER.index('Gateway')
|
||||||
if ta < tb:
|
if ta < tb:
|
||||||
return -1
|
r = -1
|
||||||
elif ta > tb:
|
elif ta > tb:
|
||||||
return 1
|
r = 1
|
||||||
else:
|
else:
|
||||||
if a.ON < b.ON:
|
if a.ON < b.ON:
|
||||||
return -1
|
r = -1
|
||||||
elif a.ON > b.ON:
|
elif a.ON > b.ON:
|
||||||
return 1
|
r = 1
|
||||||
else:
|
else:
|
||||||
return 0
|
r = 0
|
||||||
|
return r
|
||||||
|
|
||||||
|
|
||||||
class ClientTracker(object):
|
class ClientTracker(object):
|
||||||
|
@ -116,11 +117,13 @@ class ClientTracker(object):
|
||||||
self._clientData[clientId] = client
|
self._clientData[clientId] = client
|
||||||
net = client.user.NT
|
net = client.user.NT
|
||||||
nc = self._net.get(net, [])
|
nc = self._net.get(net, [])
|
||||||
ni = 0
|
ni = None
|
||||||
for i, c in enumerate(nc):
|
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
|
ni = i
|
||||||
break
|
break
|
||||||
|
if ni is None:
|
||||||
|
ni = len(nc)
|
||||||
nc.insert(ni, clientId)
|
nc.insert(ni, clientId)
|
||||||
self._net[net] = nc
|
self._net[net] = nc
|
||||||
if clientId in self._mute:
|
if clientId in self._mute:
|
||||||
|
|
Loading…
Reference in New Issue