rpms/supybot/devel Supybot-0.83.4.1-karma-plugin.patch, NONE, 1.1 supybot.spec, 1.11, 1.12
Dennis Gilmore
ausil at fedoraproject.org
Thu Jun 3 17:21:27 UTC 2010
Author: ausil
Update of /cvs/pkgs/rpms/supybot/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv11652
Modified Files:
supybot.spec
Added Files:
Supybot-0.83.4.1-karma-plugin.patch
Log Message:
add patch to fix the karma plugin
Supybot-0.83.4.1-karma-plugin.patch:
plugin.py | 62 +++++++++++++++++++++++++++++++++-----------------------------
test.py | 6 +++---
2 files changed, 36 insertions(+), 32 deletions(-)
--- NEW FILE Supybot-0.83.4.1-karma-plugin.patch ---
diff -uNr Supybot-0.83.4.1-orig/plugins/Karma/plugin.py Supybot-0.83.4.1/plugins/Karma/plugin.py
--- Supybot-0.83.4.1-orig/plugins/Karma/plugin.py 2009-05-25 12:38:12.000000000 -0500
+++ Supybot-0.83.4.1/plugins/Karma/plugin.py 2010-06-03 12:17:20.355768834 -0500
@@ -49,7 +49,7 @@
def _getDb(self, channel):
try:
- import sqlite
+ from pysqlite2 import dbapi2
except ImportError:
raise callbacks.Error, 'You need to have PySQLite installed to ' \
'use Karma. Download it at ' \
@@ -58,9 +58,9 @@
if filename in self.dbs:
return self.dbs[filename]
if os.path.exists(filename):
- self.dbs[filename] = sqlite.connect(filename)
+ self.dbs[filename] = dbapi2.connect(filename)
return self.dbs[filename]
- db = sqlite.connect(filename)
+ db = dbapi2.connect(filename)
self.dbs[filename] = db
cursor = db.cursor()
cursor.execute("""CREATE TABLE karma (
@@ -80,12 +80,16 @@
db = self._getDb(channel)
thing = thing.lower()
cursor = db.cursor()
- cursor.execute("""SELECT added, subtracted FROM karma
- WHERE normalized=%s""", thing)
- if cursor.rowcount == 0:
+ sql = """SELECT added, subtracted FROM karma
+ WHERE normalized='%s'""" % thing
+ cursor.execute(sql)
+ results = cursor.fetchall()
+ print results
+ if results == []:
return None
else:
- return map(int, cursor.fetchone())
+ return results[0]
+ #return map(int, results)
def gets(self, channel, things):
db = self._getDb(channel)
@@ -93,7 +97,7 @@
normalizedThings = dict(zip(map(lambda s: s.lower(), things), things))
criteria = ' OR '.join(['normalized=%s'] * len(normalizedThings))
sql = """SELECT name, added-subtracted FROM karma
- WHERE %s ORDER BY added-subtracted DESC""" % criteria
+ WHERE '%s' ORDER BY added-subtracted DESC""" % criteria
cursor.execute(sql, *normalizedThings)
L = [(name, int(karma)) for (name, karma) in cursor.fetchall()]
for (name, _) in L:
@@ -106,53 +110,49 @@
db = self._getDb(channel)
cursor = db.cursor()
cursor.execute("""SELECT name, added-subtracted FROM karma
- ORDER BY added-subtracted DESC LIMIT %s""", limit)
+ ORDER BY added-subtracted DESC LIMIT '%s'""" % limit)
return [(t[0], int(t[1])) for t in cursor.fetchall()]
def bottom(self, channel, limit):
db = self._getDb(channel)
cursor = db.cursor()
cursor.execute("""SELECT name, added-subtracted FROM karma
- ORDER BY added-subtracted ASC LIMIT %s""", limit)
+ ORDER BY added-subtracted ASC LIMIT '%s'""" % limit)
return [(t[0], int(t[1])) for t in cursor.fetchall()]
def rank(self, channel, thing):
db = self._getDb(channel)
cursor = db.cursor()
cursor.execute("""SELECT added-subtracted FROM karma
- WHERE name=%s""", thing)
- if cursor.rowcount == 0:
+ WHERE name='%s'""" % thing)
+ if cursor.rowcount <= 0:
return None
- karma = int(cursor.fetchone()[0])
+ karma = int(cursor.fetchall()[0])
cursor.execute("""SELECT COUNT(*) FROM karma
- WHERE added-subtracted > %s""", karma)
- rank = int(cursor.fetchone()[0])
+ WHERE added-subtracted > '%s'""" % karma)
+ rank = int(cursor.fetchall()[0])
return rank+1
def size(self, channel):
db = self._getDb(channel)
cursor = db.cursor()
cursor.execute("""SELECT COUNT(*) FROM karma""")
- return int(cursor.fetchone()[0])
+ return int(cursor.fetchall()[0])
def increment(self, channel, name):
db = self._getDb(channel)
cursor = db.cursor()
normalized = name.lower()
- cursor.execute("""INSERT INTO karma VALUES (NULL, %s, %s, 0, 0)""",
- name, normalized)
- cursor.execute("""UPDATE karma SET added=added+1
- WHERE normalized=%s""", normalized)
+ cursor.execute("""INSERT INTO karma VALUES (NULL, '%s', '%s', 0, 0)""" % (name, normalized))
+ cursor.execute("""UPDATE karma SET added=added+1 WHERE normalized='%s'""" % normalized)
db.commit()
def decrement(self, channel, name):
db = self._getDb(channel)
cursor = db.cursor()
normalized = name.lower()
- cursor.execute("""INSERT INTO karma VALUES (NULL, %s, %s, 0, 0)""",
- name, normalized)
- cursor.execute("""UPDATE karma SET subtracted=subtracted+1
- WHERE normalized=%s""", normalized)
+ cursor.execute("""INSERT INTO karma VALUES (NULL, '%s', '%s', 0, 0)""" % (name, normalized))
+ cursor.execute("""UPDATE karma SET subtracted=subtracted+1 WHERE normalized='%s'""" % normalized)
db.commit()
def most(self, channel, kind, limit):
@@ -164,7 +164,7 @@
orderby = 'added+subtracted'
else:
raise ValueError, 'invalid kind'
- sql = """SELECT name, %s FROM karma ORDER BY %s DESC LIMIT %s""" % \
+ sql = """SELECT name, '%s' FROM karma ORDER BY '%s' DESC LIMIT '%s'""" % \
(orderby, orderby, limit)
db = self._getDb(channel)
cursor = db.cursor()
@@ -176,7 +176,7 @@
cursor = db.cursor()
normalized = name.lower()
cursor.execute("""UPDATE karma SET subtracted=0, added=0
- WHERE normalized=%s""", normalized)
+ WHERE normalized='%s'""" % normalized)
db.commit()
def dump(self, channel, filename):
@@ -200,13 +200,13 @@
for (name, added, subtracted) in reader:
normalized = name.lower()
cursor.execute("""INSERT INTO karma
- VALUES (NULL, %s, %s, %s, %s)""",
- name, normalized, added, subtracted)
+ VALUES (NULL, '%s', '%s', '%s', '%s')""" %
+ (name, normalized, added, subtracted))
db.commit()
fd.close()
KarmaDB = plugins.DB('Karma',
- {'sqlite': SqliteKarmaDB})
+ {'pysqlite2': SqliteKarmaDB})
class Karma(callbacks.Plugin):
callBefore = ('Factoids', 'MoobotFactoids', 'Infobot')
@@ -249,6 +249,10 @@
elif thing:
self.db.decrement(channel, self._normalizeThing(thing))
self._respond(irc, channel)
+ t = self.db.get(channel, thing)
+ (added, subtracted) = t
+ total = added - subtracted
+ irc.reply('Karma for %s (%s)' % (thing, total))
def invalidCommand(self, irc, msg, tokens):
channel = msg.args[0]
diff -uNr Supybot-0.83.4.1-orig/plugins/Karma/test.py Supybot-0.83.4.1/plugins/Karma/test.py
--- Supybot-0.83.4.1-orig/plugins/Karma/test.py 2009-05-25 12:38:12.000000000 -0500
+++ Supybot-0.83.4.1/plugins/Karma/test.py 2010-06-03 12:12:41.090762813 -0500
@@ -30,11 +30,11 @@
from supybot.test import *
try:
- import sqlite
+ import pysqlite2
except ImportError:
- sqlite = None
+ pysqlite2 = None
-if sqlite is not None:
+if pysqlite2 is not None:
class KarmaTestCase(ChannelPluginTestCase):
plugins = ('Karma',)
def testKarma(self):
Index: supybot.spec
===================================================================
RCS file: /cvs/pkgs/rpms/supybot/devel/supybot.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- supybot.spec 27 Jul 2009 05:08:48 -0000 1.11
+++ supybot.spec 3 Jun 2010 17:21:27 -0000 1.12
@@ -3,7 +3,7 @@
Name: supybot
Version: 0.83.4.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Cross-platform IRC bot written in Python
Group: Applications/Internet
@@ -15,6 +15,8 @@ Source0: http://downloads.sourcef
# Fix a conflict between python-json and the built in json module
# in Python 2.6. Already submitted and commited upstream.
Patch0: %{name}-%{version}-json.patch
+#fix karma plugin to actually work should go upstream
+Patch1: Supybot-0.83.4.1-karma-plugin.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildArch: noarch
@@ -95,6 +97,9 @@ CFLAGS="%{optflags}" %{__python} -c 'imp
%changelog
+* Thu Jun 03 2010 Dennis Gilmore <dennis at ausil.us> - 0.83.4.1-3
+- add a patch to make the karma plugin work
+
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.83.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
More information about the scm-commits
mailing list