aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/models.py
diff options
context:
space:
mode:
authorAymeric Augustin2014-01-08 21:10:22 +0100
committerAymeric Augustin2014-01-08 21:39:05 +0100
commit72c101794f273435fdbeeb6da82ec3fadf99991c (patch)
tree7164db25eb4c8c0a05acf26ecd0cdefe9c5cae25 /debug_toolbar/models.py
parent2b1d98b0e098518171211fe98e447449f73dadf8 (diff)
downloaddjango-debug-toolbar-72c101794f273435fdbeeb6da82ec3fadf99991c.tar.bz2
Move settings patching code to the settings module.
Diffstat (limited to 'debug_toolbar/models.py')
-rw-r--r--debug_toolbar/models.py58
1 files changed, 1 insertions, 57 deletions
diff --git a/debug_toolbar/models.py b/debug_toolbar/models.py
index 4e624fa..eb16e3a 100644
--- a/debug_toolbar/models.py
+++ b/debug_toolbar/models.py
@@ -1,63 +1,7 @@
from __future__ import absolute_import, unicode_literals
-from django.conf import settings
-from django.conf.urls import include, patterns, url
-from django.core.urlresolvers import clear_url_caches, reverse, NoReverseMatch
-from django.utils.importlib import import_module
-
-import debug_toolbar
from debug_toolbar import settings as dt_settings
-from debug_toolbar.middleware import DebugToolbarMiddleware
-
-
-def is_toolbar_middleware(middleware_path):
- # Replace this with import_by_path in Django >= 1.6.
- try:
- mod_path, cls_name = middleware_path.rsplit('.', 1)
- mod = import_module(mod_path)
- middleware_cls = getattr(mod, cls_name)
- except (AttributeError, ImportError, ValueError):
- return
- return issubclass(middleware_cls, DebugToolbarMiddleware)
-
-
-def is_toolbar_middleware_installed():
- return any(is_toolbar_middleware(middleware)
- for middleware in settings.MIDDLEWARE_CLASSES)
-
-
-def prepend_to_setting(setting_name, value):
- """Insert value at the beginning of a list or tuple setting."""
- values = getattr(settings, setting_name)
- # Make a list [value] or tuple (value,)
- value = type(values)((value,))
- setattr(settings, setting_name, value + values)
-
-
-def patch_internal_ips():
- if not settings.INTERNAL_IPS:
- prepend_to_setting('INTERNAL_IPS', '127.0.0.1')
- prepend_to_setting('INTERNAL_IPS', '::1')
-
-
-def patch_middleware_classes():
- if not is_toolbar_middleware_installed():
- prepend_to_setting('MIDDLEWARE_CLASSES',
- 'debug_toolbar.middleware.DebugToolbarMiddleware')
-
-
-def patch_root_urlconf():
- try:
- reverse('djdt:render_panel')
- except NoReverseMatch:
- urlconf_module = import_module(settings.ROOT_URLCONF)
- urlconf_module.urlpatterns = patterns('', # noqa
- url(r'^__debug__/', include(debug_toolbar.urls)),
- ) + urlconf_module.urlpatterns
- clear_url_caches()
if dt_settings.PATCH_SETTINGS:
- patch_internal_ips()
- patch_middleware_classes()
- patch_root_urlconf()
+ dt_settings.patch_all()