diff options
| author | Dharmraj Jhala (OpenERP) <dizzy.zala@gmail.com> | 2014-03-28 10:17:41 +0530 |
|---|---|---|
| committer | Dharmraj Jhala (OpenERP) <dizzy.zala@gmail.com> | 2014-03-28 10:17:41 +0530 |
| commit | 0b8e582fac9dfa67c8d9ae330930aafee654c6f6 (patch) | |
| tree | 4e5fa645849329abc0f1d68d0a845afbe2be542a /addons/document_webdav/cache.py | |
| parent | fb104246a43b07614730a38ca5da478b3c767845 (diff) | |
| parent | 143a3912afbe4ef21e5af7f108fafb25a11339e4 (diff) | |
[MERGE] with parent branch
bzr revid: dizzy.zala@gmail.com-20140328044741-r2tmeujwibtqpwdb
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: |
