Thanks for helping me solve this one.  In the end I did the following:

1) hacked DocumentTemplate/ to include "filter" in the __builtins__
2) Installed PythonMethods and called pruneTree with parameter 'self' and  content
        return _.filter( 
           lambda x: x.getProperty('pruneFromTree',0)==0 , 
3) The new tag reads
        <dtml-tree name="Outline" leaves=dtcTemplate branches="pruneTree">

Chris McDonough wrote:
|If it's something you want badly (and if you haven't already) add it as
|a feature request to the Collector on  Once other folks get
|past the knee-jerk reaction, maybe it'll sink in as a good thing.  In
|the meantime, you can add it yourself if you like.

Good idea - I'll do that.

|Hopefully, you'll be so kind as to forgive me.  

That's easy - as long as you keep writing HowTos of the same quality as "Zope 
installation and upgrade" and "Zope enlightenment by understanding object 
orientation"... :-)

|After seeing people post
|DTML code to the list that they need debugged that computes pay rates,
|has the shape of an arrowhead and scrolls past the maximum character
|length of my email client horizontally, I'm a little leery of adding
|anything whatsoever to DTML, as I think the rest of the folks at DC
|are.  Reducing the complexity of DTML is a good thing, however 
|it can be accomplished.

Agreed.  You can do some very powerful things with the lamda expressions, but they 
very quickly become unwieldy if used inappropriately, so I think people are right to 
be wary.  Having said that, any sort of block structured language has the same 
pitfalls - e.g. Smalltalk, Self, even Java's anonymous classes could be used to 
detrimental effect.

I prefer to leave this stuff to style and convention ("good practice") than prescribe 
them entirely.

Thanks again,

Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to