On Thu, 24 Feb 2000, Tres Seaver wrote:
Agreed. filter() is particularly nice, as it eliminates the nesting of the <dtml-if> inside the <dtml-in>. For instance, to grab all contained objects which have a "browseable" property, set to true:
<dtml-in "_.filter( lambda x: x.hasattr( 'browseable' ) and x.browseabe, objectValues() )">
True, but it an be easily accomplished with an external method in your acquisition path. I actually have a bunch of such utlities ... For instance you can have an external method like (untested): def filter(self,seq,val): '''Return elements in sequence (seq) which have an attribute val and it is true''' return filter(lambda x,s=seq,v=val: x.hasattr(v) and getattr(x,v),s) and call it from DTML like: <dtml-in "filter(objectValues(),'browsable')"> simple and IMO more elegant than even having it in the _. Actually we could create a number of generalised utilities and post it somehwere so anybody can download the file and use them. As always security/ safety are concerns ... Pavlos