web/views/sessions.py
branchstable
changeset 7909 71c70bf482cf
parent 7854 d95a76df33a9
child 8311 76a44a0d7f4b
equal deleted inserted replaced
7908:faec7589f742 7909:71c70bf482cf
    23 
    23 
    24 from cubicweb import (RepositoryError, Unauthorized, AuthenticationError,
    24 from cubicweb import (RepositoryError, Unauthorized, AuthenticationError,
    25                       BadConnectionId)
    25                       BadConnectionId)
    26 from cubicweb.web import InvalidSession, Redirect
    26 from cubicweb.web import InvalidSession, Redirect
    27 from cubicweb.web.application import AbstractSessionManager
    27 from cubicweb.web.application import AbstractSessionManager
    28 from cubicweb.dbapi import DBAPISession
    28 from cubicweb.dbapi import ProgrammingError, DBAPISession
    29 
    29 
    30 
    30 
    31 class InMemoryRepositorySessionManager(AbstractSessionManager):
    31 class InMemoryRepositorySessionManager(AbstractSessionManager):
    32     """manage session data associated to a session identifier"""
    32     """manage session data associated to a session identifier"""
    33 
    33 
   131         self.info('closing http session %s' % session.sessionid)
   131         self.info('closing http session %s' % session.sessionid)
   132         del self._sessions[session.sessionid]
   132         del self._sessions[session.sessionid]
   133         if session.cnx:
   133         if session.cnx:
   134             try:
   134             try:
   135                 session.cnx.close()
   135                 session.cnx.close()
   136             except BadConnectionId: # expired on the repository side
   136             except (ProgrammingError, BadConnectionId): # expired on the repository side
   137                 pass
   137                 pass
   138             session.cnx = None
   138             session.cnx = None