diff options
| author | Antony Lesuisse <al@openerp.com> | 2014-03-26 14:01:46 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-03-26 14:01:46 +0100 |
| commit | 502d6770152e13c7560ea3adb25dddd4265dc016 (patch) | |
| tree | d932cc192d7a1d915e647848e59d127e9b660d84 /addons/document_webdav/cache.py | |
| parent | 158b6554c8c283a210c66fed06c6ecaf4e1a16f0 (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.py | 41 |
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: |
