check at connection creation time if we should use EUser or CWUser stable
authorsylvain.thenault@logilab.fr
Mon, 18 May 2009 16:43:02 +0200
branchstable
changeset 1846 738541c2a729
parent 1845 bd6a434382b8
child 1847 c5714f07f869
check at connection creation time if we should use EUser or CWUser
dbapi.py
--- a/dbapi.py	Mon May 18 14:36:26 2009 +0200
+++ b/dbapi.py	Mon May 18 16:43:02 2009 +0200
@@ -325,6 +325,11 @@
         self.vreg = None
         # session's data
         self.data = {}
+        # XXX < 3.2 bw compat
+        if 'EUser' in self._repo.get_schema():
+            self._user_etype = 'EUser'
+        else:
+            self._user_etype = 'CWUser'
 
     def __repr__(self):
         if self.anonymous_connection:
@@ -430,8 +435,8 @@
         eid, login, groups, properties = self._repo.user_info(self.sessionid, props)
         if req is None:
             req = self.request()
-        rset = req.eid_rset(eid, 'CWUser')
-        user = self.vreg.etype_class('CWUser')(req, rset, row=0, groups=groups,
+        rset = req.eid_rset(eid, self._user_etype)
+        user = self.vreg.etype_class(self._user_etype)(req, rset, row=0, groups=groups,
                                                properties=properties)
         user['login'] = login # cache login
         return user