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 |