From c9662e6aff3a3f893b6a0f84d0e68c7f239ab117 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Tue, 16 Sep 2014 10:51:09 -0500 Subject: Add invalidation timeout to cache --- src/leap/common/decorators.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/leap/common') diff --git a/src/leap/common/decorators.py b/src/leap/common/decorators.py index 2ef6711..99c3653 100644 --- a/src/leap/common/decorators.py +++ b/src/leap/common/decorators.py @@ -144,17 +144,20 @@ class _memoized(object): return functools.partial(self.__call__, obj) -def memoized_method(function=None, ignore_kwargs=None): +def memoized_method(function=None, ignore_kwargs=None, + invalidation=_memoized.CACHE_INVALIDATION_DELTA): """ Wrap _memoized to allow for deferred calling :type function: callable, or None. :type ignore_kwargs: None, True or tuple. + :type invalidation: int seconds. """ if function: - return _memoized(function, is_method=True) + return _memoized(function, is_method=True, invalidation=invalidation) else: def wrapper(function): return _memoized( - function, ignore_kwargs=ignore_kwargs, is_method=True) + function, ignore_kwargs=ignore_kwargs, is_method=True, + invalidation=invalidation) return wrapper -- cgit v1.2.3