--- a/lib/my_db.py Wed Oct 08 17:51:09 2003 -0400
+++ b/lib/my_db.py Fri Oct 10 11:38:20 2003 -0400
@@ -175,7 +175,7 @@
AND (
""" % (self.userid, self.userid)
for id in bk_ids:
- qry = qry + "bk.bookmark = %d OR " % (id,)
+ qry += "bk.bookmark = %d OR " % (id,)
qry = qry[:-3] + ") ORDER BY k.id;"
self.crs.execute(qry)
return self.crs.fetchall()
@@ -217,14 +217,19 @@
ORDER BY k.id;""" % (self.userid,))
res = self.crs.fetchall()
return res
- def get_keywords_count(self):
+ def get_keywords_count(self, bks = []):
"""Return a list of doublets [id, count].
Does with a count of zero are ignored."""
- self.crs.execute("""SELECT bk.keyword, COUNT(bk.keyword)
+ qry = """SELECT bk.keyword, COUNT(bk.keyword)
FROM bookmarks_keywords bk
- WHERE bk.userid = %d
- GROUP BY bk.keyword
- ORDER BY bk.keyword;""" % (self.userid,))
+ WHERE bk.userid = %d""" % (self.userid,)
+ if len(bks) > 0:
+ qry += " AND ( bk.bookmark = %d" % bks[0]
+ for bk in bks[1:]:
+ qry += " OR bk.bookmark = %d" % bk
+ qry += " )"
+ qry += " GROUP BY bk.keyword ORDER BY bk.keyword;"
+ self.crs.execute(qry)
res = self.crs.fetchall()
if not res:
res = [[0,0]]