diff -r 10f57beae364 -r db91081e5a78 lib/my_db.py --- 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("""