From 08360b7f87221b592dd76205e9b4e2b1e5b7470d Mon Sep 17 00:00:00 2001 From: Jason Bruce Date: Tue, 28 Jun 2011 14:14:34 -0400 Subject: [PATCH 1/5] - check for view_func, view_args, view_kwargs and request attrs before accessing them --- debug_toolbar/panels/request_vars.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/debug_toolbar/panels/request_vars.py b/debug_toolbar/panels/request_vars.py index 956e02852..d2a24d51f 100644 --- a/debug_toolbar/panels/request_vars.py +++ b/debug_toolbar/panels/request_vars.py @@ -28,14 +28,21 @@ def process_view(self, request, view_func, view_args, view_kwargs): def content(self): 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 self.request: + 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], + }) + if hasattr(self, 'view_args'): + context.update({ 'view_args': self.view_args }) + if hasattr(self, 'view_kwargs'): + context.update({ 'view_kwargs': self.view_kwargs }) + if hasattr(self, 'view_func'): + context.update({ + 'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__)}) + if hasattr(self.request, 'session'): context.update({ 'session': [(k, self.request.session.get(k)) for k in self.request.session.iterkeys()] From 9a34d12ded40e61b752eb539215c54ef7684c503 Mon Sep 17 00:00:00 2001 From: Jason Bruce Date: Tue, 30 Aug 2011 11:13:38 -0400 Subject: [PATCH 2/5] - check view_func for __name__ before using it --- debug_toolbar/panels/request_vars.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/debug_toolbar/panels/request_vars.py b/debug_toolbar/panels/request_vars.py index d2a24d51f..0696335f1 100644 --- a/debug_toolbar/panels/request_vars.py +++ b/debug_toolbar/panels/request_vars.py @@ -40,9 +40,8 @@ def content(self): if hasattr(self, 'view_kwargs'): context.update({ 'view_kwargs': self.view_kwargs }) if hasattr(self, 'view_func'): - context.update({ - 'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__)}) - + if hasattr(self.view_func,'__module__') and hasattr(self.view_func,'__name__'): + context.update({'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__)}) if hasattr(self.request, 'session'): context.update({ 'session': [(k, self.request.session.get(k)) for k in self.request.session.iterkeys()] From 17569a96199a7b13297c9e1727cea516cc5b20b4 Mon Sep 17 00:00:00 2001 From: Jason Bruce Date: Tue, 30 Aug 2011 15:45:55 -0400 Subject: [PATCH 3/5] - upped the version number --- debug_toolbar/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug_toolbar/__init__.py b/debug_toolbar/__init__.py index 90f9e2f24..e39a32ecd 100644 --- a/debug_toolbar/__init__.py +++ b/debug_toolbar/__init__.py @@ -1,2 +1,2 @@ -VERSION = (0, 8, 5) +VERSION = (0, 8, 6) __version__ = '.'.join(map(str, VERSION)) From 2d7211a205fa8c451bc2f4b13febca642bacae82 Mon Sep 17 00:00:00 2001 From: Nate Smith Date: Wed, 14 Sep 2011 12:17:10 -0400 Subject: [PATCH 4/5] guard two places with hasattr --- debug_toolbar/panels/template.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debug_toolbar/panels/template.py b/debug_toolbar/panels/template.py index 44b8b3e3e..39565d9ff 100644 --- a/debug_toolbar/panels/template.py +++ b/debug_toolbar/panels/template.py @@ -76,9 +76,9 @@ def content(self): # Clean up some info about templates template = template_data.get('template', None) # Skip templates that we are generating through the debug toolbar. - if template.name and template.name.startswith('debug_toolbar/'): + if hasattr(template, 'name') and template.name.startswith('debug_toolbar/'): continue - if template.origin and template.origin.name: + if hasattr(template, 'origin') and hasattr(template.origin, 'name'): template.origin_name = template.origin.name else: template.origin_name = 'No origin' From aa4c699784771d32a09146171dee4e0d7958f59f Mon Sep 17 00:00:00 2001 From: Nate Smith Date: Wed, 14 Sep 2011 12:18:12 -0400 Subject: [PATCH 5/5] update version --- debug_toolbar/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug_toolbar/__init__.py b/debug_toolbar/__init__.py index e39a32ecd..1bd9cf5b7 100644 --- a/debug_toolbar/__init__.py +++ b/debug_toolbar/__init__.py @@ -1,2 +1,2 @@ -VERSION = (0, 8, 6) +VERSION = (0, 8, 7) __version__ = '.'.join(map(str, VERSION))