Page MenuHome

caching.py
No OneTemporary

caching.py

import functools
from flask import g
def cache_for_request():
"""Decorator; caches the return value for the duration of the current request.
The caller determines the cache key: *args are used as cache key, **kwargs
are not.
"""
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
if not hasattr(g, 'request_level_cache'):
g.request_level_cache = {}
try:
return g.request_level_cache[args]
except KeyError:
val = func(*args, **kwargs)
g.request_level_cache[args] = val
return val
return wrapper
return decorator

File Metadata

Mime Type
text/x-python
Expires
Fri, Dec 3, 7:51 AM (2 d)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
9b/f2/9baaee5358212931042e9cf28f9f

Event Timeline