[Zope] returning list from PythonScript

David bluepaul at earthlink.net
Fri Jan 20 19:05:12 EST 2006


J Cameron Cooper wrote:

> Slobodan Jovcic wrote:
>
>> Hi,
>>
>> I'm trying to pass a list of values between the script and external  
>> method. ZPT contains the following:
>>
>> <tal:block tal:define="whatever python: container.myExtMethod ( 
>> container.myScript() )" />
>>
>> container.myScript() is a Python Script that returns a list of values.
>> container.myExtMethod() is an External Method expecting that list.  
>> However, all it gets is a string representation of the list ( "[]"  
>> instead of [] ). How can I pass the list itself?
>>
>> Btw, hard-coding list in ZPT works fine:
>> <tal:block tal:define="whatever python: container.myExtMethod( ['a',  
>> 'b', 'c' ] )" />
>
>
> The problem is likely in 'myScript', which you do not show us.
>
>         --jcc

I'd probably just call container.MyScript()  as self.MyScript() in the 
external method.  But i'm curious as to why your example doesn't work. 

Maybe you could first define the array first with something like ...

<tal:block tal:define="thearray structure? python: container.myScript();
                                whatever python: container.myExtMethod( 
thearray )"


DAvid                    



More information about the Zope mailing list