[Zope] nested dtml-with
Max M
maxm@mxm.dk
Thu, 13 Jun 2002 08:32:48 +0200
Don't do recursion in dtml. It's a cardinal sin, and it will make your
head explode.
Do it in a Python script instead.
untested::
def subTree(context, type=None):
"""
Returns the entire sub-branch below this recursively as a flat list
"""
children = context.objectValues(type)
grandChildren = []
for child in children:
grandChildren += child.subTree(type)
return children + grandChildren
regards Max M
Paul Zwarts wrote:
>Hmm, Im a bit confused then. How then would I traverse across and up
>into each folder then?
>
>-----Original Message-----
>From: zope-admin@zope.org [mailto:zope-admin@zope.org] On Behalf Of
>Peter Sabaini
>Sent: Wednesday, June 12, 2002 11:21 PM
>To: Paz
>Cc: zope@zope.org
>Subject: RE: [Zope] nested dtml-with
>
>
>The first snippet renders
>
>folder1.index_html
>folder1.folder2.index_html
>
>The second one renders
>
>folder1.index_html
>folder2.index_html
>
>
>I dont know what want to accomplish but you might have to recode this
>using some recursive script.
>
>cheers, peter.
>
>
>On Wed, 12 Jun 2002, Paz wrote:
>
>
>
>>The keyerror is folder2. But how are they different? The outcome is
>>
>>
>that
>
>
>>a document is rendered as:
>>
>>folder1.index_html
>>folder1.folder2.index_html
>>
>>Or isn't it?
>>Paz
>>
>>-----Original Message-----
>>From: Peter Sabaini [mailto:sabaini@inode.at]
>>Sent: Wednesday, June 12, 2002 10:51 PM
>>To: Paz
>>Cc: zope@zope.org
>>Subject: Re: [Zope] nested dtml-with
>>
>>
>>Hi,
>>are those two snippets supposed to be equivalent? Because I dont think
>>
>>
>
>
>
>>they are -- the second one doesn't nest like the first one
>>
>>Depending on where those snippets live that might be the cause of the
>>keyerror
>>
>>cheers, peter.
>>
>>
>>On Wed, 12 Jun 2002, Paz wrote:
>>
>>
>>
>>>Greetings all,
>>>
>>>I have two snippets of code, the later I wish would work. Can anyone
>>>point out why?
>>>
>>>The structure:
>>>/
>>>folder1 /
>>> index_html
>>> folder2 /
>>> index_html
>>>
>>>This works:
>>>
>>><dtml-with folder1>
>>> <dtml-var index_html>
>>> <dtml-with folder2>
>>> <dtml-var index_html>
>>> </dtml-with>
>>> </dtml-with>
>>>
>>>This doesn't:
>>><dtml-in "['folder1', 'folder2']">
>>> <dtml-with "_.getitem(_['sequence-item'])">
>>> <dtml-var index_html>
>>> </dtml-with>
>>></dtml-in>
>>>
>>>I'd like the second to work. If I inject that with a try/except I
>>>
>>>
>find
>
>
>>>the first iteration works, but the second raises a key error. Can
>>>someone help?
>>>
>>>Thanks as always,
>>>Paz
>>>
>>>
>>>
>>>
>>>_______________________________________________
>>>Zope maillist - Zope@zope.org
>>>http://lists.zope.org/mailman/listinfo/zope
>>>** No cross posts or HTML encoding! **
>>>(Related lists -
>>> http://lists.zope.org/mailman/listinfo/zope-announce
>>> http://lists.zope.org/mailman/listinfo/zope-dev )
>>>
>>>
>>>
>>
>>
>>_______________________________________________
>>Zope maillist - Zope@zope.org
>>http://lists.zope.org/mailman/listinfo/zope
>>** No cross posts or HTML encoding! **
>>(Related lists -
>> http://lists.zope.org/mailman/listinfo/zope-announce
>> http://lists.zope.org/mailman/listinfo/zope-dev )
>>
>>
>>
>
>
>
>_______________________________________________
>Zope maillist - Zope@zope.org
>http://lists.zope.org/mailman/listinfo/zope
>** No cross posts or HTML encoding! **
>(Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>
>
>
>_______________________________________________
>Zope maillist - Zope@zope.org
>http://lists.zope.org/mailman/listinfo/zope
>** No cross posts or HTML encoding! **
>(Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>
>
--
"Sorry I would Really Like To Help More On This Project,
But Am To Busy Doing Paid Work On A Tight Deadline"
Max M