From 71e92df9249274796224ae6d72ca83f0bca942d7 Mon Sep 17 00:00:00 2001 From: Kirill Kuzminykh Date: Thu, 2 Mar 2017 22:40:36 +0300 Subject: Reverted couple useless fixes of memory leaks. --- pyramid/config/views.py | 2 +- pyramid/registry.py | 4 +++- pyramid/tests/test_tweens.py | 4 ---- pyramid/tweens.py | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pyramid/config/views.py b/pyramid/config/views.py index b6996b6d2..65c9da585 100644 --- a/pyramid/config/views.py +++ b/pyramid/config/views.py @@ -933,7 +933,7 @@ class ViewsConfiguratorMixin(object): if not exception_only and isexc: derived_view = runtime_exc_view(derived_view, derived_exc_view) - derived_view.__discriminator__ = lambda *arg: view_intr.discriminator + derived_view.__discriminator__ = lambda *arg: discriminator # __discriminator__ is used by superdynamic systems # that require it for introspection after manual view lookup; # see also MultiView.__discriminator__ diff --git a/pyramid/registry.py b/pyramid/registry.py index 20b3643e9..7589dfcac 100644 --- a/pyramid/registry.py +++ b/pyramid/registry.py @@ -276,7 +276,9 @@ class Deferred(object): @reify def value(self): - return self.func() + result = self.func() + del self.func + return result def resolve(self): return self.value diff --git a/pyramid/tests/test_tweens.py b/pyramid/tests/test_tweens.py index d2053e6b8..c8eada34c 100644 --- a/pyramid/tests/test_tweens.py +++ b/pyramid/tests/test_tweens.py @@ -31,7 +31,6 @@ class Test_excview_tween_factory(unittest.TestCase): raise HTTPNotFound tween = self._makeOne(handler) request = Request.blank('/') - request.registry = self.config.registry result = tween(request) self.assertEqual(result.status, '404 Not Found') @@ -45,7 +44,6 @@ class Test_excview_tween_factory(unittest.TestCase): raise ValueError tween = self._makeOne(handler) request = Request.blank('/') - request.registry = self.config.registry result = tween(request) self.assertTrue(b'foo' in result.body) @@ -57,7 +55,6 @@ class Test_excview_tween_factory(unittest.TestCase): raise ValueError tween = self._makeOne(handler) request = Request.blank('/') - request.registry = self.config.registry request.method = 'POST' self.assertRaises(ValueError, lambda: tween(request)) @@ -67,7 +64,6 @@ class Test_excview_tween_factory(unittest.TestCase): raise ValueError tween = self._makeOne(handler) request = Request.blank('/') - request.registry = self.config.registry self.assertRaises(ValueError, lambda: tween(request)) class DummyRequest: diff --git a/pyramid/tweens.py b/pyramid/tweens.py index 19daf9e5e..a842b1133 100644 --- a/pyramid/tweens.py +++ b/pyramid/tweens.py @@ -42,7 +42,7 @@ def excview_tween_factory(handler, registry): provides = providedBy(exc) try: response = _call_view( - request.registry, + registry, request, exc, provides, -- cgit v1.2.3