diff options
| author | Aymeric Augustin | 2013-11-10 09:58:56 -0800 |
|---|---|---|
| committer | Aymeric Augustin | 2013-11-10 09:58:56 -0800 |
| commit | d889bf25d98e6d3c8dde01b207f9ba5f3d91a806 (patch) | |
| tree | 97967ae5b01c7531954b983606bc78498a128d8a /debug_toolbar/middleware.py | |
| parent | 8c7a8ec6529063853c9ff36da72a38841ca5e235 (diff) | |
| parent | f5eaa8ebb0d1ca13aa2453ef88bb1eb223757716 (diff) | |
| download | django-debug-toolbar-d889bf25d98e6d3c8dde01b207f9ba5f3d91a806.tar.bz2 | |
Merge pull request #453 from aaugustin/disable-instrumentation-for-disabled-panels
Disable instrumentation for disabled panels
Diffstat (limited to 'debug_toolbar/middleware.py')
| -rw-r--r-- | debug_toolbar/middleware.py | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 7988fd5..daea751 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -54,10 +54,6 @@ class DebugToolbarMiddleware(object): """ debug_toolbars = {} - @classmethod - def get_current(cls): - return cls.debug_toolbars.get(threading.current_thread().ident) - def __init__(self): self._urlconfs = {} @@ -92,10 +88,10 @@ class DebugToolbarMiddleware(object): toolbar = DebugToolbar(request) for panel in toolbar.panels: - panel.disabled = panel.dom_id() in request.COOKIES - panel.enabled = not panel.disabled - if panel.disabled: + panel.enabled = panel.dom_id() not in request.COOKIES + if not panel.enabled: continue + panel.enable_instrumentation() panel.process_request(request) self.__class__.debug_toolbars[threading.current_thread().ident] = toolbar @@ -106,7 +102,7 @@ class DebugToolbarMiddleware(object): return result = None for panel in toolbar.panels: - if panel.disabled: + if not panel.enabled: continue response = panel.process_view(request, view_func, view_args, view_kwargs) if response: @@ -131,12 +127,13 @@ class DebugToolbarMiddleware(object): {'redirect_to': redirect_to} ) response.cookies = cookies + for panel in toolbar.panels: + if not panel.enabled: + continue + panel.process_response(request, response) + panel.disable_instrumentation() if ('gzip' not in response.get('Content-Encoding', '') and response.get('Content-Type', '').split(';')[0] in _HTML_TYPES): - for panel in toolbar.panels: - if panel.disabled: - continue - panel.process_response(request, response) response.content = replace_insensitive( force_text(response.content, encoding=settings.DEFAULT_CHARSET), self.tag, |
