Re: [Zope] List within a list - how to use in a page template

2005-12-25 Thread Chris Withers

Cameron Beattie wrote:


Thanks. I'm using a web service which returns the list. 


What do the calls to this web service look like?

I resolved the 
problem by iterating through the returned list and populating a new 
list. I'm sure there's a better way, I just couldn't figure it out.


Indeed :-S

Chris

--
Simplistix - Content Management, Zope & Python Consulting
   - http://www.simplistix.co.uk

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] List within a list - how to use in a page template

2005-12-21 Thread Cameron Beattie



David H wrote:

# python script
# input:  a tuple named tup of index items to include in list of lists, 
eg (1,3) and the list of lists
#example input:  listoflists = [[61282125371L, 1, 6, 0], [61282125379L, 
1, 6, 0], [61282825240L, 6, 6, 0]]

#example tup: (1,3)

ret = []
for i in range(len(listoflists)):
 if i in tup:
   ret.append(x[i])
return ret



Hmmm, I'd hypothesise that whatever is returning that list of lists is 
what needs to change :-S


Thanks. I'm using a web service which returns the list. I resolved the 
problem by iterating through the returned list and populating a new list. 
I'm sure there's a better way, I just couldn't figure it out.


Cameron 


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] List within a list - how to use in a page template

2005-12-15 Thread Chris Withers

David H wrote:

# python script
# input:  a tuple named tup of index items to include in list of lists, 
eg (1,3) and the list of lists
#example input:  listoflists = [[61282125371L, 1, 6, 0], [61282125379L, 
1, 6, 0], [61282825240L, 6, 6, 0]]

#example tup: (1,3)

ret = []
for i in range(len(listoflists)):
 if i in tup:
   ret.append(x[i])
return ret



Hmmm, I'd hypothesise that whatever is returning that list of lists is 
what needs to change :-S


Chris

--
Simplistix - Content Management, Zope & Python Consulting
   - http://www.simplistix.co.uk
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] List within a list - how to use in a page template

2005-12-14 Thread David H




David H wrote:

  
Paul Winkler wrote:
  
On Wed, Dec 14, 2005 at 06:06:21PM +1300, Cameron Beattie wrote:
  

  I am trying to get my head around representing a list in a page template.

Assume the following list:

  

  
m
  
  

  
  [[61282125371L, 1, 6, 0], [61282125379L, 1, 6, 0], [61282825240L, 6, 6, 0], 
[61282125378L, 1, 6, 0], [61282125374L, 1, 6, 0]

  

  
m[0]
  
  

  
  [61282125371L, 1, 6, 0]

  

  
m[0][0]
  
  

  
  61282125371L

i.e. m is a list where each member is itself a list.

How do I get a page template to render a particular item? Assume a function 
getem returns the list.

   

This code will produce four columns and five rows, with each populated by 
the list members. But what if I only want the first and third members in 
each case i.e. 2 columns and five rows?

I thought it would be something like tal:content="python:single[0]" but 
that gives me an unsubscriptable object error.



That's because, in your example, each time through the loop,
single is an int. Try indexing m instead.

  
  
I think all thats needed is a tal:condition (he wants to filter out
rows)
  
1)
3)    
4)    tal:condition="python: repeat.r2.number in (1,2,4)" 
5)    tal:content="r2">
6) 
  
Where 4 is not brain dead as in my example. 
  
David
  
  
  
  
  

Ok, its best to parse your list of lists in a python script.  You pass
a tuple (or array) of inclusionary index numbers.  It will return the
filtered list of lists  The problem with the try I gave before is that
*condition* is evaluated before *repeat*  :-0

So ...

# python script
# input:  a tuple named tup of index items to include in list of lists,
eg (1,3) and the list of lists
#example input:  listoflists = [[61282125371L, 1, 6, 0], [61282125379L,
1, 6, 0], [61282825240L, 6, 6, 0]]
#example tup: (1,3)

ret = []
for i in range(len(listoflists)):
  if i in tup:
    ret.append(x[i])
return ret

Then your ZPT is easy.

David



___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] List within a list - how to use in a page template

2005-12-13 Thread David H




Paul Winkler wrote:

  On Wed, Dec 14, 2005 at 06:06:21PM +1300, Cameron Beattie wrote:
  
  
I am trying to get my head around representing a list in a page template.

Assume the following list:


  

  m
  

  

[[61282125371L, 1, 6, 0], [61282125379L, 1, 6, 0], [61282825240L, 6, 6, 0], 
[61282125378L, 1, 6, 0], [61282125374L, 1, 6, 0]


  

  m[0]
  

  

[61282125371L, 1, 6, 0]


  

  m[0][0]
  

  

61282125371L

i.e. m is a list where each member is itself a list.

How do I get a page template to render a particular item? Assume a function 
getem returns the list.

   

This code will produce four columns and five rows, with each populated by 
the list members. But what if I only want the first and third members in 
each case i.e. 2 columns and five rows?

I thought it would be something like tal:content="python:single[0]" but 
that gives me an unsubscriptable object error.

  
  
That's because, in your example, each time through the loop,
single is an int. Try indexing m instead.

  

I think all thats needed is a tal:condition (he wants to filter out
rows)

1)
3)    
4)    tal:condition="python: repeat.r2.number in (1,2,4)" 
5)    tal:content="r2">
6) 

Where 4 is not brain dead as in my example. 

David






___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] List within a list - how to use in a page template

2005-12-13 Thread Paul Winkler
On Wed, Dec 14, 2005 at 06:06:21PM +1300, Cameron Beattie wrote:
> I am trying to get my head around representing a list in a page template.
> 
> Assume the following list:
> >>>m
> [[61282125371L, 1, 6, 0], [61282125379L, 1, 6, 0], [61282825240L, 6, 6, 0], 
> [61282125378L, 1, 6, 0], [61282125374L, 1, 6, 0]
> >>>m[0]
> [61282125371L, 1, 6, 0]
> >>>m[0][0]
> 61282125371L
> 
> i.e. m is a list where each member is itself a list.
> 
> How do I get a page template to render a particular item? Assume a function 
> getem returns the list.
> 
>
> 
> This code will produce four columns and five rows, with each populated by 
> the list members. But what if I only want the first and third members in 
> each case i.e. 2 columns and five rows?
> 
> I thought it would be something like tal:content="python:single[0]" but 
> that gives me an unsubscriptable object error.

That's because, in your example, each time through the loop,
single is an int. Try indexing m instead.

-- 

Paul Winkler
http://www.slinkp.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] List within a list - how to use in a page template

2005-12-13 Thread Cameron Beattie

I am trying to get my head around representing a list in a page template.

Assume the following list:

m
[[61282125371L, 1, 6, 0], [61282125379L, 1, 6, 0], [61282825240L, 6, 6, 0], 
[61282125378L, 1, 6, 0], [61282125374L, 1, 6, 0]

m[0]

[61282125371L, 1, 6, 0]

m[0][0]

61282125371L

i.e. m is a list where each member is itself a list.

How do I get a page template to render a particular item? Assume a function 
getem returns the list.


   

This code will produce four columns and five rows, with each populated by 
the list members. But what if I only want the first and third members in 
each case i.e. 2 columns and five rows?


I thought it would be something like tal:content="python:single[0]" but that 
gives me an unsubscriptable object error.


Any suggestions would be appreciated.

Cameron 


___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )