From 72c101794f273435fdbeeb6da82ec3fadf99991c Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Wed, 8 Jan 2014 21:10:22 +0100 Subject: Move settings patching code to the settings module. --- debug_toolbar/models.py | 58 +------------------------------------------------ 1 file changed, 1 insertion(+), 57 deletions(-) (limited to 'debug_toolbar/models.py') 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() -- cgit v1.2.3