1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| def cached_value(key=None, **kwargs):
"""
key で指定された値をキャッシュから取得して current に渡す
reset=True が指定されるとキャッシュデータを使わない
"""
def _cache_controller(original_func):
@wraps(original_func)
def _cache_controlled(*args, **kw):
current = None if kw.get("reset", False) else cache.get(key)
lastest = original_func(*args, current=current, **kw)
cache.set(key, lastest)
return lastest
return _cache_controlled
return _cache_controller
|