equal
deleted
inserted
replaced
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): |