equal
deleted
inserted
replaced
273 self.crs.execute(qry) |
273 self.crs.execute(qry) |
274 res = self.crs.fetchall() |
274 res = self.crs.fetchall() |
275 if not res: |
275 if not res: |
276 res = [[0,0]] |
276 res = [[0,0]] |
277 return res |
277 return res |
|
278 def map_keywords(self, kws): |
|
279 """Return a dictionnary of keywords and their ids.""" |
|
280 qry = """SELECT k.id, k.name |
|
281 FROM keywords k |
|
282 WHERE k.userid = %d """ % self.userid |
|
283 qry += " AND ( k.name = %s " % sql_quote(kws[0]) |
|
284 for kw in kws[1:]: |
|
285 qry += " OR k.name = %s " % sql_quote(kw) |
|
286 qry += ");" |
|
287 self.crs.execute(qry) |
|
288 res = dict((kw, -1) for kw in kws) |
|
289 for id, name in self.crs.fetchall(): |
|
290 res[name] = id |
|
291 return res |
|
292 |
278 def _bookmarks_selection(self, has_kw = [0], except_kw = []): |
293 def _bookmarks_selection(self, has_kw = [0], except_kw = []): |
279 """ |
294 """ |
280 Return a bookmarks selection query used in at least two function. |
295 Return a bookmarks selection query used in at least two function. |
281 """ |
296 """ |
282 basic_qry = """ |
297 basic_qry = """ |
314 qry += ") " |
329 qry += ") " |
315 qry += "AND bookmark IN (" + self._bookmarks_selection(has_kw, except_kw) + ") " |
330 qry += "AND bookmark IN (" + self._bookmarks_selection(has_kw, except_kw) + ") " |
316 qry += "GROUP BY keyword ORDER BY keyword;" |
331 qry += "GROUP BY keyword ORDER BY keyword;" |
317 self.crs.execute(qry) |
332 self.crs.execute(qry) |
318 return self.crs.fetchall() |
333 return self.crs.fetchall() |
|
334 # Folders related functionnality |
319 def get_folder_keyword(self, id): |
335 def get_folder_keyword(self, id): |
320 self.crs.execute(""" |
336 self.crs.execute(""" |
321 SELECT k.id, k.name |
337 SELECT k.id, k.name |
322 FROM keywords k, folders f |
338 FROM keywords k, folders f |
323 WHERE |
339 WHERE |