Re: [Twisted-Python] Twisted.web/DOMTemplate

On Saturday, August 10, 2002, at 05:54 AM, Stephen Thorne wrote:
Okay, I've been doing some hacking trying to make a small application using twisted.web and the .rpy stuff, using DOMTemplate.
Awesome. I really appreciate people using it and providing feedback; designing in a vacuum is tough. [ snip ]
This (when twistd --nodaemon is used) prints 1 twice (instead of the once expected).
[ snip ]
This is *bad*. viewMethod in this instance is response.factory_getBody, and in order to figure out if factory_getBody returns a widget as opposed to an instance of xml.dom.minidom.Element it actually calls the function to have a look. If it doesn't return a widget it *throws the result away*. viewMethod is then returned and used elsewhere, where its actually intended to be used.
Indeed it is bad. The fix was to return the result up if the result was *not* a widget, and not bother calling viewMethod again. Since I always program DOMTemplate using domwidgets nowadays, I never encountered this. Patch committed, which you already know since you committed the patch ;-)
Considering that rendering a template node could have program logic in it that only should be evaluated once per pageview. It could also carry some expensive database transactions.
Just fyi,it is possible to do this sort of setup by overriding the setUp method. However, there are often cases where doing a monolithic "setUp" doesn't make sense, and leaving each node to gather it's own data is lazier and therefore more efficient. Thanks for the bug report. Donovan
participants (1)
-
Donovan Preston