diff -r d79722064d8d -r 1798859f7f6c lib/my_db.py --- a/lib/my_db.py Wed Dec 31 00:07:25 2008 -0500 +++ b/lib/my_db.py Wed Dec 31 01:00:21 2008 -0500 @@ -275,6 +275,21 @@ if not res: res = [[0,0]] return res + def map_keywords(self, kws): + """Return a dictionnary of keywords and their ids.""" + qry = """SELECT k.id, k.name + FROM keywords k + WHERE k.userid = %d """ % self.userid + qry += " AND ( k.name = %s " % sql_quote(kws[0]) + for kw in kws[1:]: + qry += " OR k.name = %s " % sql_quote(kw) + qry += ");" + self.crs.execute(qry) + res = dict((kw, -1) for kw in kws) + for id, name in self.crs.fetchall(): + res[name] = id + return res + def _bookmarks_selection(self, has_kw = [0], except_kw = []): """ Return a bookmarks selection query used in at least two function. @@ -316,6 +331,7 @@ qry += "GROUP BY keyword ORDER BY keyword;" self.crs.execute(qry) return self.crs.fetchall() + # Folders related functionnality def get_folder_keyword(self, id): self.crs.execute(""" SELECT k.id, k.name