lib/my_db.py
branchxbelweb
changeset 15 574631f841c3
parent 13 7357230539d2
child 21 345ee7421989
equal deleted inserted replaced
14:cdb4ed8660c5 15:574631f841c3
    50 		self.crs.execute("""
    50 		self.crs.execute("""
    51 			UPDATE bookmarks
    51 			UPDATE bookmarks
    52 			SET url = %s, name = %s,
    52 			SET url = %s, name = %s,
    53 			ldesc = %s, added = %s
    53 			ldesc = %s, added = %s
    54 			WHERE id = %d;
    54 			WHERE id = %d;
    55 			""" % (bk.url, sql_quote(bk.name),
    55 			""" % (sql_quote(bk.url), sql_quote(bk.name),
    56 			sql_quote(bk.desc),
    56 			sql_quote(bk.desc),
    57 			sql_quote(bk.added), bk.id))
    57 			sql_quote(bk.added), bk.id))
    58 		self.cnx.commit()
    58 		self.cnx.commit()
    59 	def update_keywords(self, id, keywords):
    59 	def update_keywords(self, id, keywords):
    60 		self.crs.execute("""
    60 		self.crs.execute("""
    85 		self.cnx.commit()
    85 		self.cnx.commit()
    86 		return id
    86 		return id
    87 	def get_keyword(self, id):
    87 	def get_keyword(self, id):
    88 		self.crs.execute("""
    88 		self.crs.execute("""
    89 			SELECT name FROM keywords
    89 			SELECT name FROM keywords
    90 			WHERE keyword.id = %d;
    90 			WHERE id = %d;
    91 			""" % (id,))
    91 			""" % (id,))
    92 		return self.crs.fetchone()[0]
    92 		return self.crs.fetchone()[0]
    93 	def get_keywords(self, bk_id):
    93 	def get_keywords(self, bk_id):
    94 		self.crs.execute("""
    94 		self.crs.execute("""
    95 			SELECT id, name FROM keywords, bookmarks_keywords
    95 			SELECT id, name FROM keywords, bookmarks_keywords
   117 		self.cnx.commit()
   117 		self.cnx.commit()
   118 	def merge_keywords(self, merge_id, into_id):
   118 	def merge_keywords(self, merge_id, into_id):
   119 		self.crs.execute("""
   119 		self.crs.execute("""
   120 			UPDATE bookmarks_keywords
   120 			UPDATE bookmarks_keywords
   121 			SET keyword = %d
   121 			SET keyword = %d
   122 			WHERE keyword = %d;
   122 			WHERE keyword = %d
   123 			""" % (into_id, merge_id))
   123 			AND NOT ( bookmark IN 
       
   124 			  (SELECT bookmark FROM bookmarks_keywords
       
   125 			  WHERE keyword = %d ))
       
   126 			;
       
   127 			""" % (into_id, merge_id, merge_id))
   124 		self.remove_keyword(merge_id)
   128 		self.remove_keyword(merge_id)
   125 	def get_all_keywords(self):
   129 	def get_all_keywords(self):
   126 		"""Return a list of triplets [id, keyword, count]."""
   130 		"""Return a list of triplets [id, keyword, count]."""
   127 		self.crs.execute("""SELECT k.id, k.name, COUNT(bk.keyword)
   131 		self.crs.execute("""SELECT k.id, k.name, COUNT(bk.keyword)
   128 			FROM keywords k, bookmarks_keywords bk
   132 			FROM keywords k, bookmarks_keywords bk