diff options
| author | Harry (Open ERP) <hmo@tinyerp.com> | 2009-12-15 20:01:05 +0530 |
|---|---|---|
| committer | Harry (Open ERP) <hmo@tinyerp.com> | 2009-12-15 20:01:05 +0530 |
| commit | 6082127d5da37e2a2314fe96e68ad413fa5af3bf (patch) | |
| tree | 365fd305d5defeebbeed1b5b3bffc7aade27b36a /addons/document_webdav/cache.py | |
| parent | 67dbab9d33991bf6c1e0aa8f413657c39c266986 (diff) | |
[FIX] document_webdav : Replace <TAB> with four <WHITE SPACE>
bzr revid: hmo@tinyerp.com-20091215143105-3m1zuyf0fas65opf
Diffstat (limited to 'addons/document_webdav/cache.py')
| -rw-r--r-- | addons/document_webdav/cache.py | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/addons/document_webdav/cache.py b/addons/document_webdav/cache.py index bc75114c4ae..7f03aa6da13 100644 --- a/addons/document_webdav/cache.py +++ b/addons/document_webdav/cache.py @@ -2,38 +2,38 @@ 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 + """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 |
