173 AND k.userid = %d |
173 AND k.userid = %d |
174 AND k.id = bk.keyword |
174 AND k.id = bk.keyword |
175 AND ( |
175 AND ( |
176 """ % (self.userid, self.userid) |
176 """ % (self.userid, self.userid) |
177 for id in bk_ids: |
177 for id in bk_ids: |
178 qry = qry + "bk.bookmark = %d OR " % (id,) |
178 qry += "bk.bookmark = %d OR " % (id,) |
179 qry = qry[:-3] + ") ORDER BY k.id;" |
179 qry = qry[:-3] + ") ORDER BY k.id;" |
180 self.crs.execute(qry) |
180 self.crs.execute(qry) |
181 return self.crs.fetchall() |
181 return self.crs.fetchall() |
182 def update_keyword(self, id, name): |
182 def update_keyword(self, id, name): |
183 self.crs.execute(""" |
183 self.crs.execute(""" |
215 FROM keywords k |
215 FROM keywords k |
216 WHERE k.userid = %d |
216 WHERE k.userid = %d |
217 ORDER BY k.id;""" % (self.userid,)) |
217 ORDER BY k.id;""" % (self.userid,)) |
218 res = self.crs.fetchall() |
218 res = self.crs.fetchall() |
219 return res |
219 return res |
220 def get_keywords_count(self): |
220 def get_keywords_count(self, bks = []): |
221 """Return a list of doublets [id, count]. |
221 """Return a list of doublets [id, count]. |
222 Does with a count of zero are ignored.""" |
222 Does with a count of zero are ignored.""" |
223 self.crs.execute("""SELECT bk.keyword, COUNT(bk.keyword) |
223 qry = """SELECT bk.keyword, COUNT(bk.keyword) |
224 FROM bookmarks_keywords bk |
224 FROM bookmarks_keywords bk |
225 WHERE bk.userid = %d |
225 WHERE bk.userid = %d""" % (self.userid,) |
226 GROUP BY bk.keyword |
226 if len(bks) > 0: |
227 ORDER BY bk.keyword;""" % (self.userid,)) |
227 qry += " AND ( bk.bookmark = %d" % bks[0] |
|
228 for bk in bks[1:]: |
|
229 qry += " OR bk.bookmark = %d" % bk |
|
230 qry += " )" |
|
231 qry += " GROUP BY bk.keyword ORDER BY bk.keyword;" |
|
232 self.crs.execute(qry) |
228 res = self.crs.fetchall() |
233 res = self.crs.fetchall() |
229 if not res: |
234 if not res: |
230 res = [[0,0]] |
235 res = [[0,0]] |
231 return res |
236 return res |
232 def select_bookmarks(self, has_kw = [0], except_kw = []): |
237 def select_bookmarks(self, has_kw = [0], except_kw = []): |