From 7e8a4e195d4b0e3cabf0742b31e087a81712d12f Mon Sep 17 00:00:00 2001
From: Bryan Chow
Date: Wed, 3 Mar 2010 15:41:17 -0800
Subject: Factor settings data out of SettingsVarsDebugPanel.
---
 debug_toolbar/debug/settings_vars.py  | 10 ++++++++++
 debug_toolbar/panels/settings_vars.py | 12 +++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)
 create mode 100644 debug_toolbar/debug/settings_vars.py
diff --git a/debug_toolbar/debug/settings_vars.py b/debug_toolbar/debug/settings_vars.py
new file mode 100644
index 0000000..4b4b2a7
--- /dev/null
+++ b/debug_toolbar/debug/settings_vars.py
@@ -0,0 +1,10 @@
+from django.conf import settings
+from django.views.debug import get_safe_settings
+
+class DebugSettings(object):
+
+    def module_name(self):
+        return settings.SETTINGS_MODULE
+
+    def available_settings(self):
+        return get_safe_settings()
diff --git a/debug_toolbar/panels/settings_vars.py b/debug_toolbar/panels/settings_vars.py
index ebb4464..69a9526 100644
--- a/debug_toolbar/panels/settings_vars.py
+++ b/debug_toolbar/panels/settings_vars.py
@@ -1,9 +1,7 @@
-from django.conf import settings
 from django.template.loader import render_to_string
-from django.views.debug import get_safe_settings
 from django.utils.translation import ugettext_lazy as _
 from debug_toolbar.panels import DebugPanel
-
+from debug_toolbar.debug.settings_vars import DebugSettings
 
 class SettingsVarsDebugPanel(DebugPanel):
     """
@@ -12,11 +10,15 @@ class SettingsVarsDebugPanel(DebugPanel):
     name = 'SettingsVars'
     has_content = True
 
+    def __init__(self, context={}):
+        super(SettingsVarsDebugPanel, self).__init__(context)
+        self.settings = DebugSettings()
+
     def nav_title(self):
         return _('Settings')
 
     def title(self):
-        return _('Settings from %s') % settings.SETTINGS_MODULE
+        return _('Settings from %s') % self.settings.module_name()
 
     def url(self):
         return ''
@@ -24,6 +26,6 @@ class SettingsVarsDebugPanel(DebugPanel):
     def content(self):
         context = self.context.copy()
         context.update({
-            'settings': get_safe_settings(),
+            'settings': self.settings.available_settings(),
         })
         return render_to_string('debug_toolbar/panels/settings_vars.html', context)
-- 
cgit v1.2.3