summaryrefslogtreecommitdiff
path: root/addons/document_webdav/cache.py
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2014-03-26 14:01:46 +0100
committerAntony Lesuisse <al@openerp.com>2014-03-26 14:01:46 +0100
commit502d6770152e13c7560ea3adb25dddd4265dc016 (patch)
treed932cc192d7a1d915e647848e59d127e9b660d84 /addons/document_webdav/cache.py
parent158b6554c8c283a210c66fed06c6ecaf4e1a16f0 (diff)
[REM] move document_webdav to openerp-extra
bzr revid: al@openerp.com-20140326130146-up8geys9qzh4jhc8
Diffstat (limited to 'addons/document_webdav/cache.py')
-rw-r--r--addons/document_webdav/cache.py41
1 files changed, 0 insertions, 41 deletions
diff --git a/addons/document_webdav/cache.py b/addons/document_webdav/cache.py
deleted file mode 100644
index 95ff9d31f62..00000000000
--- a/addons/document_webdav/cache.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import time
-import heapq
-
-def memoize(maxsize):
- """decorator to 'memoize' a function - caching its results"""
- def decorating_function(f):
- cache = {} # map from key to value
- heap = [] # list of keys, in LRU heap
- cursize = 0 # because len() is slow
- def wrapper(*args):
- key = repr(args)
- # performance crap
- _cache=cache
- _heap=heap
- _heappop = heapq.heappop
- _heappush = heapq.heappush
- _time = time.time
- _cursize = cursize
- _maxsize = maxsize
- if not _cache.has_key(key):
- if _cursize == _maxsize:
- # pop oldest element
- (_,oldkey) = _heappop(_heap)
- _cache.pop(oldkey)
- else:
- _cursize += 1
- # insert this element
- _cache[key] = f(*args)
- _heappush(_heap,(_time(),key))
- wrapper.misses += 1
- else:
- wrapper.hits += 1
- return cache[key]
- wrapper.__doc__ = f.__doc__
- wrapper.__name__ = f.__name__
- wrapper.hits = wrapper.misses = 0
- return wrapper
- return decorating_function
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: