config rename:

Bantracker.commetRequest => Bantracker.request
Bantracker.reviewAfterTime => Bantracker.request.review
This commit is contained in:
Elián Hanisch 2010-04-02 23:43:26 -03:00
parent fd55f019e1
commit b0b823fef1
2 changed files with 23 additions and 25 deletions

View File

@ -34,26 +34,25 @@ conf.registerGlobalValue(Bantracker, 'database',
conf.registerGlobalValue(Bantracker, 'bansite',
registry.String('', "Web site for the bantracker, without the 'bans.cgi' appended", private=True))
conf.registerGroup(Bantracker, 'commentRequest')
conf.registerChannelValue(Bantracker.commentRequest, 'type',
conf.registerGroup(Bantracker, 'request')
conf.registerChannelValue(Bantracker.request, 'type',
SpaceSeparatedListOfTypes(['removal', 'ban', 'quiet'],
"List of events for which the bot should request a comment."))
conf.registerChannelValue(Bantracker.commentRequest, 'ignore',
registry.SpaceSeparatedListOfStrings([],
conf.registerChannelValue(Bantracker.request, 'ignore',
registry.SpaceSeparatedListOfStrings(['FloodBot?', 'FloodBotK?', 'ChanServ'],
"List of nicks for which the bot won't request to comment a ban/quiet/removal."\
" Is case insensible and wildcards * ? are accepted."))
conf.registerChannelValue(Bantracker.commentRequest, 'forward',
conf.registerChannelValue(Bantracker.request, 'forward',
registry.SpaceSeparatedListOfStrings([],
"List of nicks for which the bot will forward the request to"\
" the channels/nicks defined in forwards.channels option."\
" Is case insensible and wildcards * ? are accepted."))
conf.registerChannelValue(Bantracker.commentRequest.forward, 'channels',
conf.registerChannelValue(Bantracker.request.forward, 'channels',
registry.SpaceSeparatedListOfStrings([],
"List of channels/nicks to forward the request if the op that set the ban/quiet"\
" is in the forward list."))
# temp config
conf.registerGlobalValue(Bantracker, 'reviewAfterTime',
conf.registerChannelValue(Bantracker.request, 'review',
registry.Float(7,
"Days after which the bot will request for review a ban. Can be an integer or decimal value."))

View File

@ -212,7 +212,6 @@ class PersistentCache(dict):
return (host, nick, command, channel, text)
class Bantracker(callbacks.Plugin):
"""Plugin to manage bans.
See '@list Bantracker' and '@help <command>' for commands"""
@ -409,7 +408,7 @@ class Bantracker(callbacks.Plugin):
def requestComment(self, irc, channel, ban, type=None):
# check if we should request a comment
if nickMatch(ban.who, self.registryValue('commentRequest.ignore', channel=channel)):
if nickMatch(ban.who, self.registryValue('request.ignore', channel=channel)):
return
# check the type of the action taken
mask = ban.mask
@ -418,7 +417,7 @@ class Bantracker(callbacks.Plugin):
if type == 'quiet':
mask = mask[1:]
# check if type is enabled
if type not in self.registryValue('commentRequest.type', channel=channel):
if type not in self.registryValue('request.type', channel=channel):
return
# send msg
prefix = conf.supybot.reply.whenAddressedBy.chars()[0] # prefix char for commands
@ -427,8 +426,8 @@ class Bantracker(callbacks.Plugin):
op = ircutils.nickFromHostmask(ban.who)
except:
op = ban.who
if nickMatch(op, self.registryValue('commentRequest.forward', channel=channel)):
channels = self.registryValue('commentRequest.forward.channels', channel=channel)
if nickMatch(op, self.registryValue('request.forward', channel=channel)):
channels = self.registryValue('request.forward.channels', channel=channel)
if channels:
s = "Please somebody comment on the %s of %s in %s done by %s, use:"\
" %scomment %s <comment>" %(type, mask, channel, op, prefix, ban.id)
@ -441,25 +440,25 @@ class Bantracker(callbacks.Plugin):
s = "Please comment on the %s of %s in %s, use: %scomment %s <comment>" \
%(type, mask, channel, prefix, ban.id)
self.log.info('SENDING: %s %s' %(op, s))
#irc.reply(s, to=op, private=True)
irc.reply(s, to=op, private=True)
def reviewBans(self):
try:
reviewAfterTime = int(self.registryValue('reviewAfterTime') * 86400)
if not reviewAfterTime:
# time is zero, do nothing
return
self.log.debug('Checking for bans that need review ...')
now = time.mktime(time.gmtime())
lastreview = self.pendingReviews.time
bansite = self.registryValue('bansite')
if not lastreview:
# initialize last time reviewed timestamp
lastreview = now - reviewAfterTime
lastreview = now - self.registryValue('request.review')
for channel, bans in self.bans.iteritems():
ignore = self.registryValue('commentRequest.ignore', channel=channel)
forward = self.registryValue('commentRequest.forward', channel=channel)
fchannels = self.registryValue('commentRequest.forward.channels', channel=channel)
reviewAfterTime = int(self.registryValue('request.review', channel=channel) * 86400)
if not reviewAfterTime:
# time is zero, do nothing
continue
ignore = self.registryValue('request.ignore', channel=channel)
forward = self.registryValue('request.forward', channel=channel)
fchannels = self.registryValue('request.forward.channels', channel=channel)
for ban in bans:
type = guessBanType(ban.mask)
if type in ('quiet', 'removal'):
@ -521,7 +520,7 @@ class Bantracker(callbacks.Plugin):
irc.queueMsg(msg)
else:
m = ircmsgs.privmsg(op, msg.args[1])
#irc.queueMsg(m)
irc.queueMsg(m)
del self.pendingReviews[host]
def doLog(self, irc, channel, s):