web/application.py
changeset 2706 09baf5175196
parent 2705 30bcdbd92820
child 2788 8d3dbe577d3a
child 2849 297a4b5c6ce4
equal deleted inserted replaced
2705:30bcdbd92820 2706:09baf5175196
   114       identifier
   114       identifier
   115     """
   115     """
   116     SESSION_VAR = '__session'
   116     SESSION_VAR = '__session'
   117 
   117 
   118     def __init__(self, appli):
   118     def __init__(self, appli):
   119         self.session_manager = appli.vreg['components'].select('sessionmanager')
   119         self.vreg = appli.vreg
       
   120         self.session_manager = self.vreg['components'].select('sessionmanager')
   120         global SESSION_MANAGER
   121         global SESSION_MANAGER
   121         SESSION_MANAGER = self.session_manager
   122         SESSION_MANAGER = self.session_manager
   122         if not 'last_login_time' in appli.vreg.schema:
   123         if not 'last_login_time' in self.vreg.schema:
   123             self._update_last_login_time = lambda x: None
   124             self._update_last_login_time = lambda x: None
       
   125         CW_EVENT_MANAGER.bind('after-registry-reload', self.reset_session_manager)
       
   126 
       
   127     def reset_session_manager(self):
       
   128         data = self.session_manager.dump_data()
       
   129         self.session_manager = self.vreg['components'].select('sessionmanager')
       
   130         self.session_manager.restore_data(data)
       
   131         global SESSION_MANAGER
       
   132         SESSION_MANAGER = self.session_manager
   124 
   133 
   125     def clean_sessions(self):
   134     def clean_sessions(self):
   126         """cleanup sessions which has not been unused since a given amount of
   135         """cleanup sessions which has not been unused since a given amount of
   127         time
   136         time
   128         """
   137         """