From: Tom S. <tom...@li...> - 2001-04-10 22:34:39
|
Sasa Zivkov wrote: > What you proposed here is exactly what blocks are for in stpl :-) > > I modified examples in this attachment to demonstrate use of blocks > to hide optional parts. Take a look at news.py method dspNewsList > and dspnewslist.html template. > In data/news.py you can try to return an empty result in order to display > "no_data" block from dspnewslist.html. > > I am posting the stpl again since Ian reported it was corrupted. > This time it is in tar.gz format but files inside are still in DOS (CR/LF) > format I gave your code a try. Works after some tweaks and is really simple to use. Nice proof of concept. Performancewise you lose a lot with many template pieces, because they are not cached (I lose around 30 request / second even for the simplest pages). Any chance to improve that? Your code does also not conform to the Webware Stile Guide (I had to learn that too, because Chuck is quite strict on it. Reading Webware code is much easier if everybody uses the same rules, so it's really worth the time). If you need advice, you'll get it :-) Also names like def dfltTplSubst(self, tpl_name): tpl_filename = tpl_name.lower() + ".html" tpl = template(self.path) tpl.file("T", tpl_filename) are not easy to understand (same for one character variable names ;-) Most methods need a short doc string (especially template.py). B.T.W. Plow = template? and what is Plow? Ignoring all this minor details, the result shows how easy it is to implement a simple template language. I could live with your solution (a performance/Caching fix would be nice though..). PlateKit from Tavis Rudd has other nice ideas implemented (I have to look at it more deeply). Is there a chance to combine the best of both worlds (+ Chucks ideas on that topic, + zebra?) and bring the template discussion to an end? -- Tom Schwaller http://www.linux-community.de |