diff options
Diffstat (limited to 'debug_toolbar/panels')
| -rw-r--r-- | debug_toolbar/panels/__init__.py | 8 | ||||
| -rw-r--r-- | debug_toolbar/panels/cache.py | 14 | ||||
| -rw-r--r-- | debug_toolbar/panels/headers.py | 5 | ||||
| -rw-r--r-- | debug_toolbar/panels/logger.py | 7 | ||||
| -rw-r--r-- | debug_toolbar/panels/request_vars.py | 9 | ||||
| -rw-r--r-- | debug_toolbar/panels/settings_vars.py | 5 | ||||
| -rw-r--r-- | debug_toolbar/panels/signals.py | 6 | ||||
| -rw-r--r-- | debug_toolbar/panels/sql.py | 9 | ||||
| -rw-r--r-- | debug_toolbar/panels/template.py | 10 | ||||
| -rw-r--r-- | debug_toolbar/panels/timer.py | 7 | ||||
| -rw-r--r-- | debug_toolbar/panels/version.py | 5 |
11 files changed, 59 insertions, 26 deletions
diff --git a/debug_toolbar/panels/__init__.py b/debug_toolbar/panels/__init__.py index cf65aa8..fa2e4b6 100644 --- a/debug_toolbar/panels/__init__.py +++ b/debug_toolbar/panels/__init__.py @@ -7,9 +7,13 @@ class DebugPanel(object): # name = Base has_content = False # If content returns something, set to true in subclass + # We'll maintain a local context instance so we can expose our template + # context variables to panels which need them: + context = {} + # Panel methods - def __init__(self): - pass + def __init__(self, context={}): + self.context.update(context) def dom_id(self): return 'djDebug%sPanel' % (self.name.replace(' ', '')) diff --git a/debug_toolbar/panels/cache.py b/debug_toolbar/panels/cache.py index 61b5690..5617ec2 100644 --- a/debug_toolbar/panels/cache.py +++ b/debug_toolbar/panels/cache.py @@ -76,7 +76,8 @@ class CacheDebugPanel(DebugPanel): name = 'Cache' has_content = True - def __init__(self): + def __init__(self, *args, **kwargs): + super(self.__class__, self).__init__(*args, **kwargs) # This is hackish but to prevent threading issues is somewhat needed if isinstance(cache.cache, CacheStatTracker): cache.cache.reset() @@ -95,9 +96,10 @@ class CacheDebugPanel(DebugPanel): return '' def content(self): - context = dict( - cache_calls = len(self.cache.calls), - cache_time = self.cache.total_time, - cache = self.cache, - ) + context = self.context.copy() + context.update({ + 'cache_calls': len(self.cache.calls), + 'cache_time': self.cache.total_time, + 'cache': self.cache, + }) return render_to_string('debug_toolbar/panels/cache.html', context) diff --git a/debug_toolbar/panels/headers.py b/debug_toolbar/panels/headers.py index 7a44c2d..1e929f6 100644 --- a/debug_toolbar/panels/headers.py +++ b/debug_toolbar/panels/headers.py @@ -47,7 +47,8 @@ class HeaderDebugPanel(DebugPanel): ) def content(self): - context = { + context = self.context.copy() + context.update({ 'headers': self.headers - } + }) return render_to_string('debug_toolbar/panels/headers.html', context) diff --git a/debug_toolbar/panels/logger.py b/debug_toolbar/panels/logger.py index 99f2602..620102e 100644 --- a/debug_toolbar/panels/logger.py +++ b/debug_toolbar/panels/logger.py @@ -75,4 +75,9 @@ class LoggingPanel(DebugPanel): 'file': record.pathname, 'line': record.lineno, }) - return render_to_string('debug_toolbar/panels/logger.html', {'records': records}) + + context = self.context.copy() + context.update({'records': records}) + + return render_to_string('debug_toolbar/panels/logger.html', context) + diff --git a/debug_toolbar/panels/request_vars.py b/debug_toolbar/panels/request_vars.py index cea5ec7..956e028 100644 --- a/debug_toolbar/panels/request_vars.py +++ b/debug_toolbar/panels/request_vars.py @@ -27,15 +27,18 @@ class RequestVarsDebugPanel(DebugPanel): self.view_kwargs = view_kwargs def content(self): - context = { + context = self.context.copy() + context.update({ 'get': [(k, self.request.GET.getlist(k)) for k in self.request.GET], 'post': [(k, self.request.POST.getlist(k)) for k in self.request.POST], 'cookies': [(k, self.request.COOKIES.get(k)) for k in self.request.COOKIES], 'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__), 'view_args': self.view_args, 'view_kwargs': self.view_kwargs - } + }) if hasattr(self.request, 'session'): - context['session'] = [(k, self.request.session.get(k)) for k in self.request.session.iterkeys()] + context.update({ + 'session': [(k, self.request.session.get(k)) for k in self.request.session.iterkeys()] + }) return render_to_string('debug_toolbar/panels/request_vars.html', context) diff --git a/debug_toolbar/panels/settings_vars.py b/debug_toolbar/panels/settings_vars.py index 8243acf..ebb4464 100644 --- a/debug_toolbar/panels/settings_vars.py +++ b/debug_toolbar/panels/settings_vars.py @@ -22,7 +22,8 @@ class SettingsVarsDebugPanel(DebugPanel): return '' def content(self): - context = { + context = self.context.copy() + context.update({ 'settings': get_safe_settings(), - } + }) return render_to_string('debug_toolbar/panels/settings_vars.html', context) diff --git a/debug_toolbar/panels/signals.py b/debug_toolbar/panels/signals.py index ed5f92f..dbd3725 100644 --- a/debug_toolbar/panels/signals.py +++ b/debug_toolbar/panels/signals.py @@ -80,4 +80,8 @@ class SignalDebugPanel(DebugPanel): text = "function %s" % receiver.__name__ receivers.append(text) signals.append((name, signal, receivers)) - return render_to_string('debug_toolbar/panels/signals.html', {'signals': signals}) + + context = self.context.copy() + context.update({'signals': signals}) + + return render_to_string('debug_toolbar/panels/signals.html', context) diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py index 7fa4423..1ac8445 100644 --- a/debug_toolbar/panels/sql.py +++ b/debug_toolbar/panels/sql.py @@ -137,7 +137,8 @@ class SQLDebugPanel(DebugPanel): name = 'SQL' has_content = True - def __init__(self): + def __init__(self, *args, **kwargs): + super(self.__class__, self).__init__(*args, **kwargs) self._offset = len(connection.queries) self._sql_time = 0 self._queries = [] @@ -173,11 +174,13 @@ class SQLDebugPanel(DebugPanel): query['start_offset'] = width_ratio_tally width_ratio_tally += query['width_ratio'] - context = { + context = self.context.copy() + context.update({ 'queries': self._queries, 'sql_time': self._sql_time, 'is_mysql': settings.DATABASE_ENGINE == 'mysql', - } + }) + return render_to_string('debug_toolbar/panels/sql.html', context) def ms_from_timedelta(td): diff --git a/debug_toolbar/panels/template.py b/debug_toolbar/panels/template.py index 86b1c3e..fe34729 100644 --- a/debug_toolbar/panels/template.py +++ b/debug_toolbar/panels/template.py @@ -36,7 +36,8 @@ class TemplateDebugPanel(DebugPanel): name = 'Template' has_content = True - def __init__(self): + def __init__(self, *args, **kwargs): + super(self.__class__, self).__init__(*args, **kwargs) self.templates = [] template_rendered.connect(self._store_template_info) @@ -103,9 +104,12 @@ class TemplateDebugPanel(DebugPanel): pass info['context'] = '\n'.join(context_list) template_context.append(info) - context = { + + context = self.context.copy() + context.update({ 'templates': template_context, 'template_dirs': [normpath(x) for x in settings.TEMPLATE_DIRS], 'context_processors': context_processors, - } + }) + return render_to_string('debug_toolbar/panels/templates.html', context) diff --git a/debug_toolbar/panels/timer.py b/debug_toolbar/panels/timer.py index 583c1c0..d866166 100644 --- a/debug_toolbar/panels/timer.py +++ b/debug_toolbar/panels/timer.py @@ -84,7 +84,10 @@ class TimerDebugPanel(DebugPanel): # ('Page faults', '%d no i/o, %d requiring i/o' % (minflt, majflt)), # ('Disk operations', '%d in, %d out, %d swapout' % (blkin, blkout, swap)), ) - context = { + + context = self.context.copy() + context.update({ 'rows': rows, - } + }) + return render_to_string('debug_toolbar/panels/timer.html', context) diff --git a/debug_toolbar/panels/version.py b/debug_toolbar/panels/version.py index 96a4535..098ab62 100644 --- a/debug_toolbar/panels/version.py +++ b/debug_toolbar/panels/version.py @@ -50,7 +50,10 @@ class VersionDebugPanel(DebugPanel): version = '.'.join(str(o) for o in version) versions[name] = version - return render_to_string('debug_toolbar/panels/versions.html', { + context = self.context.copy() + context.update({ 'versions': versions, 'paths': sys.path, }) + + return render_to_string('debug_toolbar/panels/versions.html', context) |
