129 self.crs.execute(""" |
129 self.crs.execute(""" |
130 SELECT name FROM keywords |
130 SELECT name FROM keywords |
131 WHERE userid = %d AND id = %d; |
131 WHERE userid = %d AND id = %d; |
132 """ % (self.userid, id)) |
132 """ % (self.userid, id)) |
133 return self.crs.fetchone()[0] |
133 return self.crs.fetchone()[0] |
134 def get_keywords(self, bk_id): |
134 def get_keywords(self, bk_ids): |
135 self.crs.execute(""" |
135 if len(bk_ids) == 0: |
136 SELECT k.id, k.name |
136 return [] |
|
137 qry = """ |
|
138 SELECT DISTINCT k.id, k.name |
137 FROM keywords k, bookmarks_keywords bk |
139 FROM keywords k, bookmarks_keywords bk |
138 WHERE bk.userid = %d |
140 WHERE bk.userid = %d |
139 AND k.userid = %d |
141 AND k.userid = %d |
140 AND bk.bookmark = %d |
|
141 AND k.id = bk.keyword |
142 AND k.id = bk.keyword |
142 ORDER BY k.id; |
143 AND ( |
143 """ % (self.userid, self.userid, bk_id)) |
144 """ % (self.userid, self.userid) |
|
145 for id in bk_ids: |
|
146 qry = qry + "bk.bookmark = %d OR " % (id,) |
|
147 qry = qry[:-3] + ") ORDER BY k.id;" |
|
148 self.crs.execute(qry) |
144 return self.crs.fetchall() |
149 return self.crs.fetchall() |
145 def update_keyword(self, id, name): |
150 def update_keyword(self, id, name): |
146 self.crs.execute(""" |
151 self.crs.execute(""" |
147 UPDATE keywords |
152 UPDATE keywords |
148 SET name = %s |
153 SET name = %s |