summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2012-03-11 20:56:35 -0700
committerChris McDonough <chrism@plope.com>2012-03-11 20:56:35 -0700
commitcd7ca3187f2ab85d9b3e48ca2f1b592854c532e9 (patch)
tree23fa37604767350d6fda0285737f9dcbd44fe523
parent74d096f1fa08fbbbe9a83ef1531af8e89cc1aff7 (diff)
parentdf3bea9e129fdfe0d55fa3f69d64cbbed6a9eea7 (diff)
downloadpyramid-cd7ca3187f2ab85d9b3e48ca2f1b592854c532e9.tar.gz
pyramid-cd7ca3187f2ab85d9b3e48ca2f1b592854c532e9.tar.bz2
pyramid-cd7ca3187f2ab85d9b3e48ca2f1b592854c532e9.zip
Merge branch 'master' of https://github.com/hlv42/pyramid into hlv42-master
-rw-r--r--pyramid/config/views.py13
-rw-r--r--pyramid/tests/test_config/test_views.py8
2 files changed, 20 insertions, 1 deletions
diff --git a/pyramid/config/views.py b/pyramid/config/views.py
index 0f70c604f..f984e46f2 100644
--- a/pyramid/config/views.py
+++ b/pyramid/config/views.py
@@ -139,7 +139,18 @@ class ViewDeriver(object):
self.http_cached_view(
self.decorated_view(
self.rendered_view(
- self.mapped_view(view)))))))))
+ self.mapped_view(
+ self.text_wrapped_view(view))))))))))
+ @wraps_view
+ def text_wrapped_view(self, view):
+ if inspect.ismethod(view):
+ if hasattr(view, '__text__'):
+ return view
+ def text_wrapper(context, request):
+ return view(context, request)
+ text_wrapper.__text__ = ''
+ return text_wrapper
+ return view
@wraps_view
def mapped_view(self, view):
diff --git a/pyramid/tests/test_config/test_views.py b/pyramid/tests/test_config/test_views.py
index 7bfe174b7..13c00c2b6 100644
--- a/pyramid/tests/test_config/test_views.py
+++ b/pyramid/tests/test_config/test_views.py
@@ -218,6 +218,14 @@ class TestViewsConfigurationMixin(unittest.TestCase):
result = wrapper(None, None)
self.assertEqual(result, 'OK')
+ def test_add_view_as_instancemethod(self):
+ from pyramid.renderers import null_renderer
+ class View:
+ def index(self, context, request): pass
+ view = View()
+ config=self._makeOne(autocommit=True)
+ config.add_view(view=view.index, renderer=null_renderer)
+
def test_add_view_as_instance_requestonly(self):
from pyramid.renderers import null_renderer
class AView: