lib/my_db.py
branchxbelweb
changeset 41 7b7cd0e74ee3
parent 38 c30e2402deca
child 44 87f94936990d
equal deleted inserted replaced
40:b62ebedcb8ac 41:7b7cd0e74ee3
   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 = []):