From 78f6ef077c7f67440f5ccfad9b20771fe68ecee1 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Wed, 27 Apr 2016 23:59:31 -0500 Subject: avoid executing the discriminator functions multiple times --- pyramid/registry.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyramid/registry.py b/pyramid/registry.py index 1073134ff..df9a10822 100644 --- a/pyramid/registry.py +++ b/pyramid/registry.py @@ -255,9 +255,13 @@ class Deferred(object): def __init__(self, func): self.func = func - def resolve(self): + @reify + def value(self): return self.func() + def resolve(self): + return self.value + def undefer(v): """ Function which accepts an object and returns it unless it is a :class:`pyramid.registry.Deferred` instance. If it is an instance of -- cgit v1.2.3