--- a/lib/my_db.py Tue Oct 07 00:06:23 2003 -0400
+++ b/lib/my_db.py Tue Oct 07 00:07:32 2003 -0400
@@ -131,16 +131,21 @@
WHERE userid = %d AND id = %d;
""" % (self.userid, id))
return self.crs.fetchone()[0]
- def get_keywords(self, bk_id):
- self.crs.execute("""
- SELECT k.id, k.name
+ def get_keywords(self, bk_ids):
+ if len(bk_ids) == 0:
+ return []
+ qry = """
+ SELECT DISTINCT k.id, k.name
FROM keywords k, bookmarks_keywords bk
WHERE bk.userid = %d
AND k.userid = %d
- AND bk.bookmark = %d
AND k.id = bk.keyword
- ORDER BY k.id;
- """ % (self.userid, self.userid, bk_id))
+ AND (
+ """ % (self.userid, self.userid)
+ for id in bk_ids:
+ qry = qry + "bk.bookmark = %d OR " % (id,)
+ qry = qry[:-3] + ") ORDER BY k.id;"
+ self.crs.execute(qry)
return self.crs.fetchall()
def update_keyword(self, id, name):
self.crs.execute("""