[Zope3-dev] Number of languages in Zope 3

Chris Withers chrisw@nipltd.com
Fri, 11 Apr 2003 09:54:01 +0100


Hi Tres,

In your example below, what are the preformance implications of iterating over 
the result list twice as opposed to just once?

cheers,

Chris

Tres Seaver wrote:
> In Zope3, that idiom would typically be replaced by an intermediate
> method on the view class which did the underlying work.  E.g., where in
> Zope2 I might to something like:
> 
>   <div tal:repeat="snippet python:here.objectValues(['Some Type'])">
>    <h3 tal:conetnt="python:snippet.headline(version='Brief')">HEADLINE
>    >/h3>
>    <div tal:content="python:snippet.teaseText(maxwords=100)>TEASE</div>
>   </div>
> 
> in Zope3 I would add a method to the view class which did the heavy
> lifting:
> 
>    def getSnippetInfo(self):
>        results = []
>        for snippet in [x for x in self.context.values()
>                          if ISnippet.isImplementedBy(x) ]:
>            results.append({'title' : snppet.headline(version='Brief'),
>                            'tease' : snippet.teaseText(maxWords=100)})
>        return results
> 
> The template then becomes much clearer:
> 
>    <div tal:repeat="info context/getSnippetInfo">
>     <h3 tal:content="info/title">TITLE</h3>
>     <div tal:content="info/tease">TEASE</div>
>    </div>