lib/my_db.py
changeset 70 1798859f7f6c
parent 66 a0aa025ee6a2
child 75 4f6b7b48322f
equal deleted inserted replaced
69:d79722064d8d 70:1798859f7f6c
   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