lib/my_db.py
branchxbelweb
changeset 33 db91081e5a78
parent 26 17b0cd274530
child 38 c30e2402deca
equal deleted inserted replaced
32:10f57beae364 33:db91081e5a78
   129 		self.crs.execute("""
   129 		self.crs.execute("""
   130 			SELECT name FROM keywords
   130 			SELECT name FROM keywords
   131 			WHERE userid = %d AND id = %d;
   131 			WHERE userid = %d AND id = %d;
   132 			""" % (self.userid, id))
   132 			""" % (self.userid, id))
   133 		return self.crs.fetchone()[0]
   133 		return self.crs.fetchone()[0]
   134 	def get_keywords(self, bk_id):
   134 	def get_keywords(self, bk_ids):
   135 		self.crs.execute("""
   135 		if len(bk_ids) == 0:
   136 			SELECT k.id, k.name
   136 			return []
       
   137 		qry = """
       
   138 			SELECT DISTINCT k.id, k.name
   137 			FROM keywords k, bookmarks_keywords bk
   139 			FROM keywords k, bookmarks_keywords bk
   138 			WHERE bk.userid = %d
   140 			WHERE bk.userid = %d
   139 			AND k.userid = %d
   141 			AND k.userid = %d
   140 			AND bk.bookmark = %d
       
   141 			AND k.id = bk.keyword
   142 			AND k.id = bk.keyword
   142 			ORDER BY k.id;
   143 			AND (
   143 			""" % (self.userid, self.userid, bk_id))
   144 			""" % (self.userid, self.userid)
       
   145 		for id in bk_ids:
       
   146 			qry = qry + "bk.bookmark = %d OR " % (id,)
       
   147 		qry = qry[:-3] + ") ORDER BY k.id;"
       
   148 		self.crs.execute(qry)
   144 		return self.crs.fetchall()
   149 		return self.crs.fetchall()
   145 	def update_keyword(self, id, name):
   150 	def update_keyword(self, id, name):
   146 		self.crs.execute("""
   151 		self.crs.execute("""
   147 			UPDATE keywords
   152 			UPDATE keywords
   148 			SET name = %s
   153 			SET name = %s