diff options
author | Aurelien Campeas <aurelien.campeas@logilab.fr> | 2010-04-16 16:10:24 +0200 |
---|---|---|
committer | Aurelien Campeas <aurelien.campeas@logilab.fr> | 2010-04-16 16:10:24 +0200 |
commit | 5a59bb0cd7df2de64ed0071921498768707b07fc (patch) | |
tree | bcdeb79c686bbc618730e3448f6ea098e93a21c3 /decorators.py | |
parent | 68d0bf4da2c30b522bec4ce00f53d612333449e4 (diff) | |
download | logilab-common-5a59bb0cd7df2de64ed0071921498768707b07fc.tar.gz |
[decorators] fix docstring handling and add a test #23389
Diffstat (limited to 'decorators.py')
-rw-r--r-- | decorators.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/decorators.py b/decorators.py index 9e5e085..cb3070f 100644 --- a/decorators.py +++ b/decorators.py @@ -14,7 +14,6 @@ import sys, re def cached(callableobj, keyarg=None): """Simple decorator to cache result of method call.""" - #print callableobj, keyarg, callableobj.func_code.co_argcount if callableobj.func_code.co_argcount == 1 or keyarg == 0: def cache_wrapper1(self, *args): @@ -27,6 +26,7 @@ def cached(callableobj, keyarg=None): value = callableobj(self, *args) setattr(self, cache, value) return value + cache_wrapper1.__doc__ = callableobj.__doc__ return cache_wrapper1 elif keyarg: @@ -47,6 +47,7 @@ def cached(callableobj, keyarg=None): #print 'miss', self, cache, key _cache[key] = callableobj(self, *args, **kwargs) return _cache[key] + cache_wrapper2.__doc__ = callableobj.__doc__ return cache_wrapper2 def cache_wrapper3(self, *args): @@ -64,6 +65,7 @@ def cached(callableobj, keyarg=None): #print 'miss' _cache[args] = callableobj(self, *args) return _cache[args] + cache_wrapper3.__doc__ = callableobj.__doc__ return cache_wrapper3 def clear_cache(obj, funcname): |