--- 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)