aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cramer2011-03-28 17:24:59 -0700
committerDavid Cramer2011-03-28 17:24:59 -0700
commit4d69dbeae9c610e1dc421d6fdfcc7faa3d4af892 (patch)
tree1da00e8596a20d7c0b3b9d97177d174e0798067e
parent6473bc2450cb0c4653eb158b35c4f8ccdeb37a22 (diff)
downloaddjango-debug-toolbar-4d69dbeae9c610e1dc421d6fdfcc7faa3d4af892.tar.bz2
Added DebugToolbar.get_panel(cls) for pulling out instantiated panel objects
-rw-r--r--debug_toolbar/toolbar/loader.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/debug_toolbar/toolbar/loader.py b/debug_toolbar/toolbar/loader.py
index d237cc4..3501c69 100644
--- a/debug_toolbar/toolbar/loader.py
+++ b/debug_toolbar/toolbar/loader.py
@@ -5,13 +5,14 @@ import os.path, os
from django.conf import settings
from django.template.loader import render_to_string
+from django.utils.datastructures import SortedDict
from django.utils.safestring import mark_safe
class DebugToolbar(object):
def __init__(self, request):
self.request = request
- self.panels = []
+ self._panels = SortedDict()
base_url = self.request.META.get('SCRIPT_NAME', '')
self.config = {
'INTERCEPT_REDIRECTS': True,
@@ -37,6 +38,13 @@ class DebugToolbar(object):
'debug_toolbar.panels.logger.LoggingPanel',
)
self.load_panels()
+
+ def _get_panels(self):
+ return self._panels.values()
+ panels = property(_get_panels)
+
+ def get_panel(self, cls):
+ return self._panels[cls]
def load_panels(self):
"""
@@ -69,7 +77,7 @@ class DebugToolbar(object):
except:
raise # Bubble up problem loading panel
- self.panels.append(panel_instance)
+ self._panels[panel_class] = panel_instance
def render_toolbar(self):
"""