diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-05-20 11:22:28 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-05-20 11:22:28 +0300 |
| commit | 163fdcc78785e9148f4e567be93eb706bc7006b5 (patch) | |
| tree | 2d6de5fc281b13380d4dab75234803e32f246a1a /helpers | |
| parent | 2f3a4fc525b8869942207a9a96585145b3c0e236 (diff) | |
moved memoize class to helpers dir
Diffstat (limited to 'helpers')
| -rw-r--r-- | helpers/memoize.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/helpers/memoize.py b/helpers/memoize.py new file mode 100644 index 0000000..95057ad --- /dev/null +++ b/helpers/memoize.py @@ -0,0 +1,13 @@ +class memoized(object): + def __init__(self, func): + self.func = func + self.cache = {} + def __call__(self, *args): + try: + return self.cache[args] + except KeyError: + value = self.func(*args) + self.cache[args] = value + return value + except TypeError: + return self.func(*args) |
