Web programming and a different "type" problem (was: Slice confusion : a[n:p] is a list exclude the last element p)
Ian Bicking
ianb at colorstudy.com
Tue Apr 29 06:06:27 EDT 2003
On Mon, 2003-04-28 at 14:22, Cameron Laird wrote:
> 'Doesn't work, though. Here's where the special case
> enters: if only one datum with the indicated name is
> present as input, Zope and the others return it as a
> simple string, rather than a list with that string as
> its sole member.
I'm not a fan of using field names (like field:list, or field*, or
field[]), though I suppose it isn't that bad. Without that you have the
option of a custom getter, like maybe:
valueList = request.multiple('field')
Which promotes a single string to a list, and if the value is missing
returns an empty list (which the field names don't do).
Otherwise you got to use a schema. I made a simple schema system
recently, as I've been playing around with forms. It's the
DictCall.(txt,py):
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/webware-sandbox/Sandbox/ianbicking/FormEncode/
It has several ways of defining simple schemas which are used to
translate a dictionary of input into a function call. So you can do
something like:
# goto delete?id=1&id=2&id=3
def delete(id_set_int):
# id_set_int is a list of integers...
You could also define the schema through a function attribute or the
docstring.
Really just an experiment, but I'm still playing with the ideas.
Ian
More information about the Python-list
mailing list