web/application.py
changeset 10740 59e89db3a67d
parent 10604 d4bf85db41f2
child 10744 c5dc40988e6e
equal deleted inserted replaced
10739:27f946cfe350 10740:59e89db3a67d
    23 from time import clock, time
    23 from time import clock, time
    24 from contextlib import contextmanager
    24 from contextlib import contextmanager
    25 from warnings import warn
    25 from warnings import warn
    26 import json
    26 import json
    27 
    27 
       
    28 from six import text_type
    28 from six.moves import http_client
    29 from six.moves import http_client
    29 
    30 
    30 from logilab.common.deprecation import deprecated
    31 from logilab.common.deprecation import deprecated
    31 
    32 
    32 from rql import BadRQLQuery
    33 from rql import BadRQLQuery
    78             CW_EVENT_MANAGER.bind('after-registry-reload',
    79             CW_EVENT_MANAGER.bind('after-registry-reload',
    79                                   self.reset_session_manager)
    80                                   self.reset_session_manager)
    80 
    81 
    81     def reset_session_manager(self):
    82     def reset_session_manager(self):
    82         data = self.session_manager.dump_data()
    83         data = self.session_manager.dump_data()
    83         self.session_manager = self.vreg['components'].select('sessionmanager',
    84         self.session_manager = self.vreg['sessions'].select('sessionmanager',
    84                                                               repo=self.repo)
    85                                                             repo=self.repo)
    85         self.session_manager.restore_data(data)
    86         self.session_manager.restore_data(data)
    86         global SESSION_MANAGER
    87         global SESSION_MANAGER
    87         SESSION_MANAGER = self.session_manager
    88         SESSION_MANAGER = self.session_manager
    88 
    89 
    89     @property
    90     @property
   495         if isinstance(ex, PublishException) and ex.status is not None:
   496         if isinstance(ex, PublishException) and ex.status is not None:
   496             status = ex.status
   497             status = ex.status
   497         if req.status_out < 400:
   498         if req.status_out < 400:
   498             # don't overwrite it if it's already set
   499             # don't overwrite it if it's already set
   499             req.status_out = status
   500             req.status_out = status
   500         json_dumper = getattr(ex, 'dumps', lambda : json.dumps({'reason': unicode(ex)}))
   501         json_dumper = getattr(ex, 'dumps', lambda : json.dumps({'reason': text_type(ex)}))
   501         return json_dumper()
   502         return json_dumper()
   502 
   503 
   503     # special case handling
   504     # special case handling
   504 
   505 
   505     def need_login_content(self, req):
   506     def need_login_content(self, req):