[Zope] Arrg! dtml-in can't handle lists of pairs!
Luis Cortes
LCortes@CoolLink.Net
Sat, 1 Jul 2000 16:22:50 -0600
I have confirmed that this is strange behavior can be reproduced on 2.1.6 --
why I don't know. A work around may be to convert your tuples to lists (easy to
do in python) sample working code:
<dtml-var standard_html_header>
<h4>Iterate over 3.tuples</h4>
<dtml-let list="[('a','b','c'),('d','e','f')]">
<dtml-in list>
<dtml-var sequence-item><br>
<dtml-in sequence-item>
<dtml-var sequence-item></br>
</dtml-in>
</dtml-in>
</dtml-let>
<h4>Iterate Over 2-tuples</h4>
<!---- My change here ------>
<dtml-let list="[['a','b'],['c','d']]">
<dtml-var list><br>
<dtml-in list>
<dtml-var sequence-item><br>
<dtml-try>
<dtml-in sequence-item>
<dtml-var sequence-item></br>
</dtml-in>
<dtml-except>
<h4>Why can't I do this!</h4>
</dtml-try>
</dtml-in>
</dtml-let>
<h4>Iterate Over 1-tuples</h4>
<dtml-let list="[('a',),('b',)]">
<dtml-in list>
<dtml-var sequence-item><br>
<dtml-in sequence-item>
<dtml-var sequence-item></br>
</dtml-in>
</dtml-in>
</dtml-let>
<dtml-var standard_html_footer>
On Sat, 01 Jul 2000, Cary O'Brien wrote:
> Ok. I get a list of rows from a database query. I want
> to iterate over the rows. If there are 3 or more
> columns in the table, everythin is fine. If there are 2
> columns, it doesn't work.
>
> It seems as if dtml-in handles lists of pairs specially.
> Not a good thing. Can I supress this behavior?
>
> Here is an example of this:
>
> -------------------
>
> <h4>Iterate over 3.tuples</h4>
> <dtml-let list="[('a','b','c'),('d','e','f')]">
> <dtml-in list>
> <dtml-var sequence-item><br>
> <dtml-in sequence-item>
> > <dtml-var sequence-item></br>
> </dtml-in>
> </dtml-in>
> </dtml-let>
> <h4>Iterate Over 2-tuples</h4>
> <dtml-let list="[('a','b'),('c','d')]">
> <dtml-in list>
> <dtml-var sequence-item><br>
> <dtml-try>
> <dtml-in sequence-item>
> > <dtml-var sequence-item></br>
> </dtml-in>
> <dtml-except>
> <h4>Why can't I do this!</h4>
> </dtml-try>
> </dtml-in>
> </dtml-let>
> <h4>Iterate Over 1-tuples</h4>
> <dtml-let list="[('a',),('b',)]">
> <dtml-in list>
> <dtml-var sequence-item><br>
> <dtml-in sequence-item>
> > <dtml-var sequence-item></br>
> </dtml-in>
> </dtml-in>
> </dtml-let>
>
> -----------------------
>
> -- cary
>
> _______________________________________________
> 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 )