dbapi.py
changeset 9038 1b972d81eda4
parent 9033 614bf73cc126
child 9040 3c85e734ce00
equal deleted inserted replaced
9037:6fd0ac6506cb 9038:1b972d81eda4
   332         self.set_default_language(vreg)
   332         self.set_default_language(vreg)
   333 
   333 
   334     def get_option_value(self, option, foreid=None):
   334     def get_option_value(self, option, foreid=None):
   335         return self.cnx.get_option_value(option, foreid)
   335         return self.cnx.get_option_value(option, foreid)
   336 
   336 
   337     def set_session(self, session, user=None):
   337     def set_session(self, session):
   338         """method called by the session handler when the user is authenticated
   338         """method called by the session handler when the user is authenticated
   339         or an anonymous connection is open
   339         or an anonymous connection is open
   340         """
   340         """
   341         self.session = session
   341         self.session = session
   342         if session.cnx:
   342         if session.cnx:
   343             self.cnx = session.cnx
   343             self.cnx = session.cnx
   344             self.execute = session.cnx.cursor(self).execute
   344             self.execute = session.cnx.cursor(self).execute
   345             if user is None:
   345             self.user = self.cnx.user(self)
   346                 user = self.cnx.user(self)
   346             self.set_entity_cache(self.user)
   347         if user is not None:
       
   348             self.user = user
       
   349             self.set_entity_cache(user)
       
   350 
   347 
   351     def execute(self, *args, **kwargs): # pylint: disable=E0202
   348     def execute(self, *args, **kwargs): # pylint: disable=E0202
   352         """overriden when session is set. By default raise authentication error
   349         """overriden when session is set. By default raise authentication error
   353         so authentication is requested.
   350         so authentication is requested.
   354         """
   351         """
   655     def request(self):
   652     def request(self):
   656         if self._web_request:
   653         if self._web_request:
   657             from cubicweb.web.request import CubicWebRequestBase
   654             from cubicweb.web.request import CubicWebRequestBase
   658             req = CubicWebRequestBase(self.vreg, False)
   655             req = CubicWebRequestBase(self.vreg, False)
   659             req.get_header = lambda x, default=None: default
   656             req.get_header = lambda x, default=None: default
   660             req.set_session = lambda session, user=None: DBAPIRequest.set_session(
   657             req.set_session = lambda session: DBAPIRequest.set_session(
   661                 req, session, user)
   658                 req, session)
   662             req.relative_path = lambda includeparams=True: ''
   659             req.relative_path = lambda includeparams=True: ''
   663         else:
   660         else:
   664             req = DBAPIRequest(self.vreg)
   661             req = DBAPIRequest(self.vreg)
   665         req.set_session(DBAPISession(self))
   662         req.set_session(DBAPISession(self))
   666         return req
   663         return req