From 377aa5d9205d8b6b236d75e5502152b05211066e Mon Sep 17 00:00:00 2001 From: Nat McLean Date: Fri, 23 Sep 2011 04:10:26 -0300 Subject: fixed config.views.requestonly --- pyramid/config/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pyramid/config/views.py b/pyramid/config/views.py index 703e3cca5..396774035 100644 --- a/pyramid/config/views.py +++ b/pyramid/config/views.py @@ -416,7 +416,7 @@ class DefaultViewMapper(object): def requestonly(view, attr=None): if attr is None: attr = '__call__' - if inspect.isfunction(view): + if inspect.isroutine(view): fn = view elif inspect.isclass(view): try: @@ -436,8 +436,7 @@ def requestonly(view, attr=None): args = argspec[0] - if hasattr(fn, 'im_func'): - # it's an instance method + if inspect.ismethod(fn): if not args: return False args = args[1:] -- cgit v1.2.3 From da32aae493430ff686d83a298d1e8d763381d029 Mon Sep 17 00:00:00 2001 From: Nat McLean Date: Sat, 24 Sep 2011 19:04:35 -0300 Subject: requestonly test --- pyramid/tests/test_config/test_views.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pyramid/tests/test_config/test_views.py b/pyramid/tests/test_config/test_views.py index be5143d45..f4e69f4e1 100644 --- a/pyramid/tests/test_config/test_views.py +++ b/pyramid/tests/test_config/test_views.py @@ -1763,6 +1763,13 @@ class Test_requestonly(unittest.TestCase): class Foo: pass foo = Foo() self.assertFalse(self._callFUT(foo)) + + def test_method_onearg_named_request(self): + class Foo: + def method(self, request): + """ """ + foo = Foo() + self.assertTrue(self._callFUT(foo.method)) class Test_isexception(unittest.TestCase): def _callFUT(self, ob): -- cgit v1.2.3