|  | @@ -15,7 +15,7 @@ from functools import wraps
 | 
	
		
			
				|  |  |  from itertools import islice
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  from kombu.utils import cached_property
 | 
	
		
			
				|  |  | -from kombu.utils.functional import promise, maybe_promise
 | 
	
		
			
				|  |  | +from kombu.utils.functional import lazy, maybe_evaluate
 | 
	
		
			
				|  |  |  from kombu.utils.compat import OrderedDict
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  from celery.five import UserDict, UserList, items, keys, string_t
 | 
	
	
		
			
				|  | @@ -161,15 +161,15 @@ def memoize(maxsize=None, Cache=LRUCache):
 | 
	
		
			
				|  |  |      return _memoize
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class mpromise(promise):
 | 
	
		
			
				|  |  | -    """Memoized promise.
 | 
	
		
			
				|  |  | +class mlazy(lazy):
 | 
	
		
			
				|  |  | +    """Memoized lazy evaluation.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      The function is only evaluated once, every subsequent access
 | 
	
		
			
				|  |  |      will return the same value.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      .. attribute:: evaluated
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        Set to to :const:`True` after the promise has been evaluated.
 | 
	
		
			
				|  |  | +        Set to to :const:`True` after the object has been evaluated.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      evaluated = False
 | 
	
	
		
			
				|  | @@ -177,7 +177,7 @@ class mpromise(promise):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def evaluate(self):
 | 
	
		
			
				|  |  |          if not self.evaluated:
 | 
	
		
			
				|  |  | -            self._value = super(mpromise, self).evaluate()
 | 
	
		
			
				|  |  | +            self._value = super(mlazy, self).evaluate()
 | 
	
		
			
				|  |  |              self.evaluated = True
 | 
	
		
			
				|  |  |          return self._value
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -208,14 +208,15 @@ def firstmethod(method):
 | 
	
		
			
				|  |  |      """Returns a function that with a list of instances,
 | 
	
		
			
				|  |  |      finds the first instance that returns a value for the given method.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    The list can also contain promises (:class:`promise`.)
 | 
	
		
			
				|  |  | +    The list can also contain lazy instances
 | 
	
		
			
				|  |  | +    (:class:`~kombu.utils.functional.lazy`.)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def _matcher(it, *args, **kwargs):
 | 
	
		
			
				|  |  |          for obj in it:
 | 
	
		
			
				|  |  |              try:
 | 
	
		
			
				|  |  | -                answer = getattr(maybe_promise(obj), method)(*args, **kwargs)
 | 
	
		
			
				|  |  | +                answer = getattr(maybe_evaluate(obj), method)(*args, **kwargs)
 | 
	
		
			
				|  |  |              except AttributeError:
 | 
	
		
			
				|  |  |                  pass
 | 
	
		
			
				|  |  |              else:
 |