def inner(instance, keys, *args, **kwargs): if hasattr(keys, '__iter__'): if isinstance(keys, dict): keys = dict([(version_key(k),v) for k,v in keys.iteritems()]) else: keys = map(version_key, keys) else: keys = version_key(keys) return logged_func(func)(instance, keys, *args, **kwargs)
def inner(instance, keys, *args, **kwargs): if hasattr(keys, '__iter__'): if isinstance(keys, dict): keys = dict([(version_key(k),v) for k,v in keys.iteritems()]) else: keys = map(version_key, keys) else: keys = version_key(keys) name = func.func_name # this is ugly, but can't redefine func if CACHEBOT_LOCAL_CACHE: if settings.DEBUG: return getattr(instance._deferred, name)(logged_func(func), instance, keys, *args, **kwargs) else: return getattr(instance._deferred, name)(func, instance, keys, *args, **kwargs) else: if settings.DEBUG: return logged_func(func)(instance, keys, *args, **kwargs) else: return func(instance, keys, *args, **kwargs)