dbapi.py
changeset 2293 7ded2a1416e4
parent 2266 efc6de279644
child 2476 1294a6bdf3bf
--- a/dbapi.py	Thu Jul 02 10:36:25 2009 +0200
+++ b/dbapi.py	Mon Jul 06 19:55:18 2009 +0200
@@ -63,19 +63,19 @@
                                   'application' % nsid)
         return core.getProxyForURI(uri)
 
-def repo_connect(repo, user, password, cnxprops=None):
+def repo_connect(repo, login, password, cnxprops=None):
     """Constructor to create a new connection to the CubicWeb repository.
 
     Returns a Connection instance.
     """
     cnxprops = cnxprops or ConnectionProperties('inmemory')
-    cnxid = repo.connect(unicode(user), password, cnxprops=cnxprops)
+    cnxid = repo.connect(unicode(login), password, cnxprops=cnxprops)
     cnx = Connection(repo, cnxid, cnxprops)
     if cnxprops.cnxtype == 'inmemory':
         cnx.vreg = repo.vreg
     return cnx
 
-def connect(database=None, user=None, password=None, host=None,
+def connect(database=None, login=None, password=None, host=None,
             group=None, cnxprops=None, port=None, setvreg=True, mulcnx=True,
             initlog=True):
     """Constructor for creating a connection to the CubicWeb repository.
@@ -111,11 +111,11 @@
         vreg.set_schema(schema)
     else:
         vreg = None
-    cnx = repo_connect(repo, user, password, cnxprops)
+    cnx = repo_connect(repo, login, password, cnxprops)
     cnx.vreg = vreg
     return cnx
 
-def in_memory_cnx(config, user, password):
+def in_memory_cnx(config, login, password):
     """usefull method for testing and scripting to get a dbapi.Connection
     object connected to an in-memory repository instance
     """
@@ -128,7 +128,7 @@
     repo = get_repository('inmemory', config=config, vreg=vreg)
     # connection to the CubicWeb repository
     cnxprops = ConnectionProperties('inmemory')
-    cnx = repo_connect(repo, user, password, cnxprops=cnxprops)
+    cnx = repo_connect(repo, login, password, cnxprops=cnxprops)
     return repo, cnx
 
 
@@ -245,7 +245,7 @@
     @property
     def user(self):
         if self._user is None and self.cnx:
-            self.set_user(self.cnx.user(self))
+            self.set_user(self.cnx.user(self, {'lang': self.lang}))
         return self._user
 
     def set_user(self, user):
@@ -367,6 +367,10 @@
         """raise `BadSessionId` if the connection is no more valid"""
         self._repo.check_session(self.sessionid)
 
+    def set_session_props(self, **props):
+        """raise `BadSessionId` if the connection is no more valid"""
+        self._repo.set_session_props(self.sessionid, props)
+
     def get_shared_data(self, key, default=None, pop=False):
         """return value associated to `key` in shared data"""
         return self._repo.get_shared_data(self.sessionid, key, default, pop)
@@ -434,7 +438,8 @@
     def user(self, req=None, props=None):
         """return the User object associated to this connection"""
         # cnx validity is checked by the call to .user_info
-        eid, login, groups, properties = self._repo.user_info(self.sessionid, props)
+        eid, login, groups, properties = self._repo.user_info(self.sessionid,
+                                                              props)
         if req is None:
             req = self.request()
         rset = req.eid_rset(eid, 'CWUser')