From 77b00318b49749bac835dc82aa8de1db11aac1b1 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Mon, 3 Sep 2012 19:04:58 +0200 Subject: [PATCH] WebStats: Add configuration variable plugins.WebStats.channel.excludenicks. --- WebStats/config.py | 3 +++ WebStats/plugin.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/WebStats/config.py b/WebStats/config.py index da1899e..08242e8 100644 --- a/WebStats/config.py +++ b/WebStats/config.py @@ -59,5 +59,8 @@ conf.registerChannelValue(WebStats.channel, 'enable', conf.registerChannelValue(WebStats.channel, 'language', registry.String(_('en'), _("""Determines what language is used on the website"""))) +conf.registerChannelValue(WebStats.channel, 'excludenicks', + registry.String('', _("""Space-separated list of nicks excluded from + stats."""))) # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: diff --git a/WebStats/plugin.py b/WebStats/plugin.py index e3411aa..55198aa 100644 --- a/WebStats/plugin.py +++ b/WebStats/plugin.py @@ -505,6 +505,9 @@ class WebStats(callbacks.Plugin): return content = msg.args[1] nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMessage(channel, nick, content) doNotice = doPrivmsg @@ -513,6 +516,9 @@ class WebStats(callbacks.Plugin): if not self.registryValue('channel.enable', channel): return nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMove(channel, nick, 'join') def doPart(self, irc, msg): @@ -524,6 +530,9 @@ class WebStats(callbacks.Plugin): else: message = '' nick = msg.prefix.split('!')[0] + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + return self.db.recordMove(channel, nick, 'part', message) def doQuit(self, irc, msg): @@ -533,6 +542,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'quit', message) @@ -543,6 +555,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'nick', message) @@ -553,6 +568,9 @@ class WebStats(callbacks.Plugin): else: message = '' for channel in self.ircstates[irc].channels: + if nick in self.registryValue('channel.excludenicks', channel) \ + .split(' '): + continue if self.registryValue('channel.enable', channel) and \ msg.nick in self.ircstates[irc].channels[channel].users: self.db.recordMove(channel, nick, 'kicker', message)