From 99906aeb5da6a6fe8a46ac74dc3bfdd1b22b417b Mon Sep 17 00:00:00 2001 From: Őry Máté <ory.mate@cloud.bme.hu> Date: Fri, 15 Aug 2014 19:32:02 +0200 Subject: [PATCH] common: use update_wrapper on cached method --- circle/common/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/circle/common/models.py b/circle/common/models.py index d63beb3..f92cce9 100644 --- a/circle/common/models.py +++ b/circle/common/models.py @@ -17,6 +17,7 @@ from collections import deque from contextlib import contextmanager +from functools import update_wrapper from hashlib import sha224 from itertools import chain, imap from logging import getLogger @@ -233,9 +234,11 @@ def method_cache(memcached_seconds=60, instance_seconds=5): # noqa def inner_cache(method): + method_name = method.__name__ + def get_key(instance, *args, **kwargs): return sha224(unicode(method.__module__) + - unicode(method.__name__) + + method_name + unicode(instance.id) + unicode(args) + unicode(kwargs)).hexdigest() @@ -269,6 +272,9 @@ def method_cache(memcached_seconds=60, instance_seconds=5): # noqa unicode(args), unicode(result)) return result + + update_wrapper(x, method) + x._original = method return x return inner_cache -- libgit2 0.26.0