File: __init__.py

package info (click to toggle)
python-django-debug-toolbar 1%3A1.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,628 kB
  • ctags: 506
  • sloc: python: 2,789; makefile: 181; sh: 1
file content (25 lines) | stat: -rw-r--r-- 947 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Refresh the debug toolbar's configuration when overriding settings.

from debug_toolbar.toolbar import DebugToolbar
from debug_toolbar import settings as dt_settings

from django.dispatch import receiver
from django.test.signals import setting_changed


@receiver(setting_changed)
def update_toolbar_config(**kwargs):
    if kwargs['setting'] == 'DEBUG_TOOLBAR_CONFIG':
        dt_settings.CONFIG = {}
        dt_settings.CONFIG.update(dt_settings.CONFIG_DEFAULTS)
        dt_settings.CONFIG.update(kwargs['value'] or {})
        # This doesn't account for deprecated configuration options.


@receiver(setting_changed)
def update_toolbar_panels(**kwargs):
    if kwargs['setting'] == 'DEBUG_TOOLBAR_PANELS':
        dt_settings.PANELS = kwargs['value'] or dt_settings.PANELS_DEFAULTS
        DebugToolbar._panel_classes = None
        # Not implemented: invalidate debug_toolbar.urls.
        # This doesn't account for deprecated panel names.