本文整理汇总了Python中r2.lib.cache.make_key函数的典型用法代码示例。如果您正苦于以下问题:Python make_key函数的具体用法?Python make_key怎么用?Python make_key使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了make_key函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_image
def get_image(iden):
key = make_key(iden)
solution = g.cache.get(key)
if not solution:
solution = make_solution()
g.cache.set(key, solution, time = 300)
return RandCaptcha(solution=solution).render()
示例2: new_fn
def new_fn(*a, **kw):
#if the keyword param _update == True, the cache will be
#overwritten no matter what
update = kw.pop('_update', False)
key = make_key(iden, *a, **kw)
res = None if update else cache.get(key, stale=stale)
if res is None:
# not cached, we should calculate it.
with make_lock('memoize_lock(%s)' % key):
# see if it was completed while we were waiting
# for the lock
stored = None if update else cache.get(key)
if stored is not None:
# it was calculated while we were waiting
res = stored
else:
# okay now go and actually calculate it
res = fn(*a, **kw)
if res is None:
res = NoneResult
cache.set(key, res, time = time)
if res == NoneResult:
res = None
return res
示例3: new_fn
def new_fn(*a, **kw):
#if the keyword param _update == True, the cache will be
#overwritten no matter what
update = False
if kw.has_key('_update'):
update = kw['_update']
del kw['_update']
key = make_key(iden, *a, **kw)
res = None if update else cache.get(key)
if res is None:
# not cached, we should calculate it.
with make_lock('memoize_lock(%s)' % key):
stored = None if update else cache.get(key)
if stored is None:
# okay now go and actually calculate it
res = fn(*a, **kw)
if res is None:
res = NoneResult
cache.set(key, res, time = time)
else:
# it was calculated while we were waiting on
# the lock
res = stored
if res == NoneResult:
res = None
return res
示例4: request_key
def request_key(self):
return make_key('request',
c.lang,
c.content_langs,
request.host,
c.cname,
request.fullpath,
random.choice(xrange(100)))
示例5: valid_solution
def valid_solution(iden, solution):
key = make_key(iden)
if (not iden
or not solution
or len(iden) != IDEN_LENGTH
or len(solution) != SOL_LENGTH
or solution.upper() != g.cache.get(key)):
solution = make_solution()
g.cache.set(key, solution, time = 300)
return False
else:
g.cache.delete(key)
return True
示例6: request_key
def request_key(self):
# note that this references the cookie at request time, not
# the current value of it
try:
cookies_key = [(x, request.cookies.get(x,''))
for x in cache_affecting_cookies]
except CookieError:
cookies_key = ''
return make_key('request_key_',
c.lang,
c.content_langs,
request.host,
c.cname,
request.fullpath,
c.over18,
c.firsttime,
cookies_key)
示例7: request_key
def request_key(self):
# note that this references the cookie at request time, not
# the current value of it
try:
cookies_key = [(x, request.cookies.get(x, "")) for x in cache_affecting_cookies]
except CookieError:
cookies_key = ""
return make_key(
"request",
c.lang,
c.content_langs,
request.host,
c.secure,
c.cname,
request.fullpath,
c.over18,
c.extension,
c.render_style,
cookies_key,
)