ChannelStats: Fix rank to work with selfStats

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
This commit is contained in:
James Vega 2010-05-11 17:50:43 -04:00
parent 79c7514f1a
commit 41fd218b8d
2 changed files with 8 additions and 2 deletions

View File

@ -315,7 +315,8 @@ class ChannelStats(callbacks.Plugin):
expr = expr.lower() expr = expr.lower()
users = [] users = []
for ((c, id), stats) in self.db.items(): for ((c, id), stats) in self.db.items():
if ircutils.strEqual(c, channel) and ircdb.users.hasUser(id): if ircutils.strEqual(c, channel) and \
(id == 0 or ircdb.users.hasUser(id)):
e = self._env.copy() e = self._env.copy()
for attr in stats._values: for attr in stats._values:
e[attr] = float(getattr(stats, attr)) e[attr] = float(getattr(stats, attr))
@ -327,7 +328,10 @@ class ChannelStats(callbacks.Plugin):
irc.errorInvalid('stat variable', str(e).split()[1]) irc.errorInvalid('stat variable', str(e).split()[1])
except Exception, e: except Exception, e:
irc.error(utils.exnToString(e), Raise=True) irc.error(utils.exnToString(e), Raise=True)
users.append((v, ircdb.users.getUser(id).name)) if id == 0:
users.append((v, irc.nick))
else:
users.append((v, ircdb.users.getUser(id).name))
users.sort() users.sort()
users.reverse() users.reverse()
s = utils.str.commaAndify(['#%s %s (%.3g)' % (i+1, u, v) s = utils.str.commaAndify(['#%s %s (%.3g)' % (i+1, u, v)

View File

@ -1,5 +1,6 @@
### ###
# Copyright (c) 2002-2004, Jeremiah Fincher # Copyright (c) 2002-2004, Jeremiah Fincher
# Copyright (c) 2010, James Vega
# All rights reserved. # All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -61,6 +62,7 @@ class ChannelStatsTestCase(ChannelPluginTestCase):
self.assertNotError('channelstats stats %s' % self.irc.nick) self.assertNotError('channelstats stats %s' % self.irc.nick)
self.assertNotError('channelstats stats %s' % self.irc.nick) self.assertNotError('channelstats stats %s' % self.irc.nick)
self.assertNotError('channelstats stats %s' % self.irc.nick.upper()) self.assertNotError('channelstats stats %s' % self.irc.nick.upper())
self.assertRegexp('channelstats rank chars', self.irc.nick)
u = ircdb.users.getUser(self.prefix) u = ircdb.users.getUser(self.prefix)
u.addCapability(ircdb.makeChannelCapability(self.channel, 'op')) u.addCapability(ircdb.makeChannelCapability(self.channel, 'op'))
ircdb.users.setUser(u) ircdb.users.setUser(u)