From 303672f037e744065714cf1e046d89492565eb91 Mon Sep 17 00:00:00 2001 From: David Halter Date: Thu, 13 Dec 2012 12:39:51 +0100 Subject: [PATCH] memoize_default is now able to use different caches. --- jedi/cache.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jedi/cache.py b/jedi/cache.py index 9c890a63..9b28a502 100644 --- a/jedi/cache.py +++ b/jedi/cache.py @@ -1,3 +1,4 @@ +# memoize caches will be deleted after every action memoize_caches = [] @@ -13,7 +14,7 @@ def clear_caches(): m.clear() -def memoize_default(default=None): +def memoize_default(default=None, cache=memoize_caches): """ This is a typical memoization decorator, BUT there is one difference: To prevent recursion it sets defaults. @@ -23,7 +24,7 @@ def memoize_default(default=None): """ def func(function): memo = {} - memoize_caches.append(memo) + cache.append(memo) def wrapper(*args, **kwargs): key = (args, frozenset(kwargs.items()))