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 memoizecache.get(key, stale=stale) if res is None: # not cached, we should calculate it. with make_lock("memoize", 'memoize_lock(%s)' % key, time=timeout, timeout=timeout): # see if it was completed while we were waiting # for the lock stored = None if update else memoizecache.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 memoizecache.set(key, res, time=time) if res == NoneResult: res = None return res
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
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()
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()
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
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
def request_key(self): return make_key('request', c.lang, c.content_langs, request.host, c.cname, request.fullpath, random.choice(xrange(100)))
def request_key(self): return make_key('request_key', c.lang, c.content_langs, request.host, c.cname, request.fullpath, random.choice(xrange(100)))
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
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.secure, c.cname, request.fullpath, c.over18, c.firsttime, c.extension, c.render_style, cookies_key)
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
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)
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, )