lib/my_db.py
changeset 66 a0aa025ee6a2
parent 65 b975a3d7606a
child 70 1798859f7f6c
equal deleted inserted replaced
65:b975a3d7606a 66:a0aa025ee6a2
     7 def sql_quote(str):
     7 def sql_quote(str):
     8 	return pgdb._quote(str)
     8 	return pgdb._quote(str)
     9 
     9 
    10 class MyDbConnexion:
    10 class MyDbConnexion:
    11 	def __init__(self, config):
    11 	def __init__(self, config):
       
    12 		self.userid = None 
    12 		self.cnx = pgdb.connect(database = config.db_name,
    13 		self.cnx = pgdb.connect(database = config.db_name,
    13 			host = config.db_host+':%d'%config.db_port,
    14 			host = config.db_host+':%d'%config.db_port,
    14 			user = config.db_user, password = config.db_passwd)
    15 			user = config.db_user, password = config.db_passwd)
    15 		self.crs = self.cnx.cursor();
    16 		self.crs = self.cnx.cursor();
    16 	def connect_user(self, name):
    17 	def connect_user(self, name):
    17 		if (self.userid == None):
    18 		if (self.userid == None):
    18 			self.userid = self._get_user_id(username)
    19 			self.userid = self._get_user_id(name)
    19 			if self.userid == None:
    20 			if self.userid == None:
    20 				self.userid = self._create_user(username)
    21 				self.userid = self._create_user(name)
    21 			else:
    22 			else:
    22 				self.userid = self.userid[0]
    23 				self.userid = self.userid[0]
    23 		return self.userid
    24 		return self.userid
    24 	def _get_user_id(self, name):
    25 	def _get_user_id(self, name):
    25 		self.crs.execute("""
    26 		self.crs.execute("""
    65 			DELETE FROM bookmarks_keywords WHERE userid = %d;
    66 			DELETE FROM bookmarks_keywords WHERE userid = %d;
    66 			DELETE FROM bookmarks WHERE userid = %d;
    67 			DELETE FROM bookmarks WHERE userid = %d;
    67 			DELETE FROM preferences WHERE userid = %d;
    68 			DELETE FROM preferences WHERE userid = %d;
    68 			DELETE FROM keywords WHERE userid = %d;
    69 			DELETE FROM keywords WHERE userid = %d;
    69 			DELETE FROM db_sequence WHERE userid = %d;
    70 			DELETE FROM db_sequence WHERE userid = %d;
    70 			""" % ((userid,)*5))
    71 			""" % ((userid,)*6))
    71 		self.cnx.commit()
    72 		self.cnx.commit()
    72 	def get_preferences(self):
    73 	def get_preferences(self):
    73 		self.crs.execute("""
    74 		self.crs.execute("""
    74 			SELECT p.keywords_box,
    75 			SELECT p.keywords_box,
    75 			p.keywords_sort, p.keywords_reverse,
    76 			p.keywords_sort, p.keywords_reverse,
   396 			""" % (id+1, seq_name, userid))
   397 			""" % (id+1, seq_name, userid))
   397 		return id
   398 		return id
   398 
   399 
   399 def connect(config, username):
   400 def connect(config, username):
   400 	db = MyDbConnexion(config)
   401 	db = MyDbConnexion(config)
   401 	db.connect_user(username)
   402 	userid = db.connect_user(username)
       
   403 	if userid == None:
       
   404 		raise "Can't connect user!"
       
   405 	return db