summaryrefslogtreecommitdiff
path: root/helpers/memoize.py
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2011-05-20 11:22:28 +0300
committerYuval Adam <yuv.adm@gmail.com>2011-05-20 11:22:28 +0300
commit163fdcc78785e9148f4e567be93eb706bc7006b5 (patch)
tree2d6de5fc281b13380d4dab75234803e32f246a1a /helpers/memoize.py
parent2f3a4fc525b8869942207a9a96585145b3c0e236 (diff)
moved memoize class to helpers dir
Diffstat (limited to 'helpers/memoize.py')
-rw-r--r--helpers/memoize.py13
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)