[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>