本文整理汇总了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()
开发者ID:constantAmateur,项目名称:sciteit,代码行数:7,代码来源:captcha.py
示例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
开发者ID:3river,项目名称:reddit,代码行数:30,代码来源:memoize.py
示例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
开发者ID:XieConnect,项目名称:reddit,代码行数:32,代码来源:memoize.py
示例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)))
开发者ID:PhearTheCeal,项目名称:reddit,代码行数:8,代码来源:mediaembed.py
示例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
开发者ID:constantAmateur,项目名称:sciteit,代码行数:14,代码来源:captcha.py
示例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)
开发者ID:XieConnect,项目名称:reddit,代码行数:18,代码来源:reddit_base.py
示例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,
)
开发者ID:rfurman,项目名称:arxaliv,代码行数:21,代码来源:reddit_base.py
注:本文中的r2.lib.cache.make_key函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论