diff -r f1b93ddec9e0 -r b975a3d7606a lib/my_db.py --- a/lib/my_db.py Sun Dec 28 15:21:49 2008 -0500 +++ b/lib/my_db.py Tue Dec 30 22:32:10 2008 -0500 @@ -1,29 +1,33 @@ import pgdb -import config +import os + +# BADSMELL: There must be an interface between both from bkmark import Bookmark -import os def sql_quote(str): return pgdb._quote(str) class MyDbConnexion: - def __init__(self, name): - self.cnx = pgdb.connect(database = config.database, - host = config.host+':%d'%config.port, - user = config.user, password = config.passwd) + def __init__(self, config): + self.cnx = pgdb.connect(database = config.db_name, + host = config.db_host+':%d'%config.db_port, + user = config.db_user, password = config.db_passwd) self.crs = self.cnx.cursor(); - self.userid = self.get_user_id(name) - if self.userid == None: - self.userid = self.create_user(name) - else: - self.userid = self.userid[0] - def get_user_id(self, name): + def connect_user(self, name): + if (self.userid == None): + self.userid = self._get_user_id(username) + if self.userid == None: + self.userid = self._create_user(username) + else: + self.userid = self.userid[0] + return self.userid + def _get_user_id(self, name): self.crs.execute(""" SELECT id FROM users WHERE name = %s; """ % (sql_quote(name),)) return self.crs.fetchone() - def create_user(self, name): + def _create_user(self, name): id = self.get_next_id('users') self.crs.execute(""" INSERT INTO users(id, name, full_name) @@ -63,7 +67,7 @@ DELETE FROM preferences WHERE userid = %d; DELETE FROM keywords WHERE userid = %d; DELETE FROM db_sequence WHERE userid = %d; - """ % (userid,userid,userid,userid,userid)) + """ % ((userid,)*5)) self.cnx.commit() def get_preferences(self): self.crs.execute(""" @@ -392,5 +396,6 @@ """ % (id+1, seq_name, userid)) return id -def connect(username): - return MyDbConnexion(username) +def connect(config, username): + db = MyDbConnexion(config) + db.connect_user(username)