The tags.cached keeps working fine in the caching branch (which btw
applied cleanly on top of trunk).
What doesn't work is the rend.Page. I'm very curious to compare the
performance of the caching branch with my previous code that is
currently online already.
Locals
rest []
item
gen
/home/andrea/bin/x86_64/python/lib/python2.4/site-packages/nevow/flat/flatstan.py, line 234 in CachedSerializer
232
233
def CachedSerializer(original, context):
234
cache = ICache(original.scope(context))
235
cached = cache.get(original.key, original.lifetime)
Locals
original
context
Globals
ICache <MetaInterface nevow.inevow.ICache>
CachedSerializer
I also suggest to apply this patch to the code or it doesn't even
startup.
--- Nevow/nevow/rend.py.~1~ 2005-02-18 04:39:54.208615490 +0100
+++ Nevow/nevow/rend.py 2005-02-18 05:06:15.272641191 +0100
@@ -30,6 +30,7 @@ from nevow import tags
from nevow import flat
from nevow.util import log
from nevow import util
+from nevow import url
import formless
from formless import iformless
@@ -416,7 +417,7 @@ class Page(Fragment, ConfigurableFactory
if self.buffered:
io = StringIO()
writer = io.write
- def finisher(result):
+ def finisher(result):
request.write(io.getvalue())
finishRequest()
return result
@@ -428,7 +429,7 @@ class Page(Fragment, ConfigurableFactory
doc = self.docFactory.load()
if self.cache:
- name = url.URL.fromContext(ctx).path
+ name = str(url.URL.fromContext(ctx))
doc = tags.cached(name, self.lifetime)[doc]
ctx = WovenContext(ctx, tags.invisible[doc])
@@ -504,7 +505,6 @@ class Page(Fragment, ConfigurableFactory
else:
## Use the redirectAfterPost url
ref = str(redirectAfterPost)
- from nevow import url
refpath = url.URL.fromString(ref)
magicCookie = str(now())
refpath = refpath.replace('_nevow_carryover_', magicCookie)