mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-27 13:19:24 +01:00
made karma case-insensitive
This commit is contained in:
parent
07ef648e1c
commit
15b18edc11
@ -359,26 +359,28 @@ class ChannelDB(plugins.ChannelDBHandler, callbacks.PrivmsgCommandAndRegexp):
|
|||||||
db = self.getDb(channel)
|
db = self.getDb(channel)
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
if len(args) == 1:
|
if len(args) == 1:
|
||||||
name = args[0]
|
orig_name = args[0]
|
||||||
|
name = args[0].lower()
|
||||||
cursor.execute("""SELECT added, subtracted
|
cursor.execute("""SELECT added, subtracted
|
||||||
FROM karma
|
FROM karma
|
||||||
WHERE name=%s""", name)
|
WHERE name=%s""", name)
|
||||||
if cursor.rowcount == 0:
|
if cursor.rowcount == 0:
|
||||||
irc.reply(msg, '%s has no karma.' % name)
|
irc.reply(msg, '%s has no karma.' % orig_name)
|
||||||
else:
|
else:
|
||||||
(added, subtracted) = map(int, cursor.fetchone())
|
(added, subtracted) = map(int, cursor.fetchone())
|
||||||
total = added - subtracted
|
total = added - subtracted
|
||||||
s = 'Karma for %r has been increased %s %s ' \
|
s = 'Karma for %r has been increased %s %s ' \
|
||||||
'and decreased %s %s for a total karma of %s.' % \
|
'and decreased %s %s for a total karma of %s.' % \
|
||||||
(name, added, utils.pluralize(added, 'time'),
|
(orig_name, added, utils.pluralize(added, 'time'),
|
||||||
subtracted, utils.pluralize(subtracted, 'time'), total)
|
subtracted, utils.pluralize(subtracted, 'time'), total)
|
||||||
irc.reply(msg, s)
|
irc.reply(msg, s)
|
||||||
elif len(args) > 1:
|
elif len(args) > 1:
|
||||||
|
lowered_args = map(str.lower, args)
|
||||||
criteria = ' OR '.join(['name=%s'] * len(args))
|
criteria = ' OR '.join(['name=%s'] * len(args))
|
||||||
sql = """SELECT name, added-subtracted
|
sql = """SELECT name, added-subtracted
|
||||||
FROM karma WHERE %s
|
FROM karma WHERE %s
|
||||||
ORDER BY added-subtracted DESC""" % criteria
|
ORDER BY added-subtracted DESC""" % criteria
|
||||||
cursor.execute(sql, *args)
|
cursor.execute(sql, *lowered_args)
|
||||||
if cursor.rowcount > 0:
|
if cursor.rowcount > 0:
|
||||||
s = utils.commaAndify(['%s: %s' % (n, t)
|
s = utils.commaAndify(['%s: %s' % (n, t)
|
||||||
for (n,t) in cursor.fetchall()])
|
for (n,t) in cursor.fetchall()])
|
||||||
@ -403,7 +405,7 @@ class ChannelDB(plugins.ChannelDBHandler, callbacks.PrivmsgCommandAndRegexp):
|
|||||||
|
|
||||||
def increaseKarma(self, irc, msg, match):
|
def increaseKarma(self, irc, msg, match):
|
||||||
r"^(\S+)\+\+$"
|
r"^(\S+)\+\+$"
|
||||||
name = match.group(1)
|
name = match.group(1).lower()
|
||||||
db = self.getDb(msg.args[0])
|
db = self.getDb(msg.args[0])
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("""INSERT INTO karma VALUES (NULL, %s, 0, 0)""", name)
|
cursor.execute("""INSERT INTO karma VALUES (NULL, %s, 0, 0)""", name)
|
||||||
@ -411,7 +413,7 @@ class ChannelDB(plugins.ChannelDBHandler, callbacks.PrivmsgCommandAndRegexp):
|
|||||||
|
|
||||||
def decreaseKarma(self, irc, msg, match):
|
def decreaseKarma(self, irc, msg, match):
|
||||||
r"^(\S+)--$"
|
r"^(\S+)--$"
|
||||||
name = match.group(1)
|
name = match.group(1).lower()
|
||||||
db = self.getDb(msg.args[0])
|
db = self.getDb(msg.args[0])
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("""INSERT INTO karma VALUES (NULL, %s, 0, 0)""", name)
|
cursor.execute("""INSERT INTO karma VALUES (NULL, %s, 0, 0)""", name)
|
||||||
|
@ -85,6 +85,13 @@ if sqlite is not None:
|
|||||||
self.assertNoResponse('foo++', 2)
|
self.assertNoResponse('foo++', 2)
|
||||||
self.assertNoResponse('bar--', 2)
|
self.assertNoResponse('bar--', 2)
|
||||||
self.assertRegexp('karma foo bar foobar', '.*foo.*foobar.*bar.*')
|
self.assertRegexp('karma foo bar foobar', '.*foo.*foobar.*bar.*')
|
||||||
|
# Test case-insensitive
|
||||||
|
self.assertNoResponse('MOO++', 2)
|
||||||
|
self.assertRegexp('karma moo', 'Karma for \'moo\'.*increased 1'
|
||||||
|
'.*total.*1')
|
||||||
|
self.assertRegexp('karma MoO', 'Karma for \'MoO\'.*increased 1'
|
||||||
|
'.*total.*1')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
||||||
|
Loading…
Reference in New Issue
Block a user