Seems the problem may be better expressed as having a python script that when run (within python), can be fed with a list of lists, like: RR=[ ['04-03-2001','0900','MEX','PBA','0300','N'], ['04-03-2001','1100','MTY','NLD','0300','N'], ['04-03-2001','1600','NLD','MTY','0300','N'], ['04-03-2001','1800','MTY','NLD','0300','N'], ['04-03-2001','1400','MTY','NLD','0300','N'], ['04-03-2001','1000','NLD','MTY','0300','N'], ['04-03-2001','0800','MTY','NLD','0300','N'], ['04-03-2001','0900','NLD','MTY','0300','N'], ['04-03-2001','1000','MTY','NLD','0300','N'], ['04-03-2001','1300','NLD','MTY','0300','N'], ['04-03-2001','1200','PBA','MEX','0300','N'], ['04-03-2001','0930','NLD','MTY','0300','N'], ['04-03-2001','0800','MTY','NLD','0300','N'], ['04-03-2001','0900','MTY','NLD','0300','N'], ['04-03-2001','1100','NLD','MTY','0300','N'] ] If this is given as input to a simple script that say, it only sorts the list of lists for i in range(len(RR)): print RR[i] RR.sort() print "---------------------------------" for i in range(len(RR)): print RR[i] It works fine. But, when this is made a python script, it does not work. When RR is typed into (or pasted into) the form: <form method="POST" action="mypythonscript"> <input type=text name="RR:list"> </form> The script at mypythonscript indeed receives a list, but it does not know that the elements of this list are in turn other lists. The questions that come up then are: 1.- Why it works with plain python and does not with Zope 2.- How to make it work with zope by indicating that the passed value is a "list of lists" Hope this clears things a bit. Any help is greatly appreciated. Thanks in advance. Felipe Barousse On Fri, 2002-04-12 at 14:48, Dieter Maurer wrote:
febb writes:
Having the following Python script:
if same_type(RR,[]): if same_type(RR,'abcd'): return "it is a string"
... calling "Test" with parameter value "[...]" returns "is a string"... I think, this is correct behaviour:
Python is not statically typed. The same name can be bound to different types over time.
The fact, that your argument has a list as default value does not mean, that all passed in values will be lists.
The parameters passed with any Web request *ARE* all strings in the first place. Zope uses various ":XXX" suffixes to the parameter names to control how these strings are converted into other datatype (see e.g.
<http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html>
). But the "Test" interface of "PythonScripts" does not support these conversion suffixes.
I agree, this is a limitation, but not inconsistent...
Dieter