Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
wrapped: Use correct cache key when in the parent template
Browse files Browse the repository at this point in the history
  • Loading branch information
bsimpson63 committed Sep 26, 2016
1 parent acdd4ff commit dbcf37a
Showing 1 changed file with 3 additions and 16 deletions.
19 changes: 3 additions & 16 deletions r2/r2/lib/wrapped.pyx
Expand Up @@ -367,35 +367,22 @@ class Templated(object):

return res

def _cache_key(self, key):
return 'rend:%s(%s)' % (self.__class__.__name__, md5(key).hexdigest())

def _write_cache(self, keys):
from pylons import app_globals as g

if not keys:
return

toset = {}
for key, val in keys.iteritems():
toset[self._cache_key(key)] = val

try:
g.rendercache.set_multi(toset, time=3600)
g.rendercache.set_multi(keys, time=3600)
except MemcachedError as e:
g.log.warning("rendercache error: %s", e)
return

def _read_cache(self, keys):
from pylons import app_globals as g

ekeys = {}
for key in keys:
ekeys[self._cache_key(key)] = key
found = g.rendercache.get_multi(ekeys)
ret = {}
for fkey, val in found.iteritems():
ret[ekeys[fkey]] = val
ret = g.rendercache.get_multi(keys)
return ret

def render(self, style = None, **kw):
Expand Down Expand Up @@ -482,7 +469,7 @@ class CachedTemplate(Templated):
for k, v in self.cachable_attrs()]
keys.append(repr(auto_keys))
h = md5(u''.join(keys)).hexdigest()
return "<%s:[%s]>" % (self.__class__.__name__, h)
return "rend:%s:%s" % (self.render_class_name, h)


class Wrapped(CachedTemplate):
Expand Down

0 comments on commit dbcf37a

Please sign in to comment.