Re: [Zope] Restatement of list problem
Hello Allen, We have two tiny utility python scripts we use all the time. toList() is used in cases where we don't know whether we will be getting back a list or a string, but we always want a list for processing. toList(parField) if same_type(parField, []): return parField else: return [parField] and we also created isList() which is usefull for testing. isList(parField) if same_type(parField, []): return 1 else: return 0 We can use both of them in python scripts or dtml. We've found that they make the code more readable and are quite handy. Good luck. -Chris On Friday 21 June 2002 09:20 am, Phil Harris wrote:
You need to use the Python type() function:
if type(your_list) is type([]): do something here
or the Zope same_type() function:
t=[]
if same_type(your_list,t): do something here
see http://www.zopelabs.com/cookbook/995873707 for more info
hth
On Fri, 21 Jun 2002 09:10:52 -0400
"Schmidt, Allen J." <aschmidt@nv.cc.va.us> wrote:
So then is there ANY way to definitively determine that something is a list or not?
Have not tried but on first look it seems Dieter's solution would blow up if not a list, correct?
-----Original Message----- From: Jens Vagelpohl [mailto:jens@zope.com] Sent: Friday, June 21, 2002 8:53 AM To: Schmidt, Allen J. Cc: 'zope@zope.org' Subject: Re: [Zope] Restatement of list problem
string.find will blow up if this is really a list. if it is a string it will be OK. however, the dtmlin will blow up if you have a string. it will be fine if you have a list.
jens
On Friday, June 21, 2002, at 08:35 , Schmidt, Allen J. wrote:
You are correct in how the hidden fields were set up. In your example, what if 'br' comes in as a single...not a list? Won't the dtml-in throw an error if it's not a list??
My thought was to try this (semi-pseudo code):
<if br> <if string.find(br,'[')> //then it's a list <in br> type=hidden name=sequence-item </in> <else> // not a list but a single type=hidden name=br </if> </if>
Won't using the string.find expose the list so the dtml-in won't blow up?
Thanks!!
-Allen
-----Original Message----- From: Dieter Maurer [mailto:dieter@handshake.de] Sent: Wednesday, June 19, 2002 1:49 PM To: Schmidt, Allen J. Cc: 'zope@zope.org' Subject: Re: [Zope] Restatement of list problem
Schmidt, Allen J. writes:
Maybe I over-complicated my original request.
I have a form field that is a list: ['2 DR CONVERTIBLE','2 DR COUPE','2 DR HATCHBACK']
The URL looks like this: vehicleList?bt=2+DR+CONVERTIBLE&bt=2+DR+COUPE&bt=2+DR+HATCHBACK
When I pick for years 2002 and 2001 for the above body types, the URL changes a bit:
vehicleList?yr%3Alist=2002&yr%3Alist=2001&bt%3Alist=%5B%272+DR+CONVERTIBL E%2
7%2C+%272+DR+COUPE%27%2C+%272+DR+HATCHBACK%27%5D
This looks as if you would have your list in a hidden variable of the form
<input name="bt:list" type="hidden" value="&dtml-bt;">
When this arrives at the Zope server, you will get a list with one string that respresents the former list as a string.
You need instead:
<dtml-in br> <input name="bt:list" type="hidden" value="&dtml-sequence-item;"> </dtml-else> <input name="bt:tokens" type="hidden" value=""> </dtml-in>
i.e. each list element must gets its one "input" control.
Dieter
_______________________________________________ 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 )
-- Chris Kratz Systems Analyst/Programmer VistaShare LLC www.vistashare.com ------------------------------------------------------- -- Chris Kratz Systems Analyst/Programmer VistaShare LLC www.vistashare.com
participants (1)
-
Chris Kratz