[Web-SIG] Form field dictionaries
Barry Warsaw
barry at python.org
Wed Oct 29 12:12:21 EST 2003
On Wed, 2003-10-29 at 10:11, Steve Holden wrote:
> If an argument has multiple values, this should only be handled if the
> processing element (page code) has indicated that multiple values are
> acceptable for that argument. When an argument is possibly multi-valued,
> form['fieldname'] should *always* be a list, even if it has only one
> element [and I don't see why it shouldn't be legal to see an empty list
> if the argument doesn't appear in the URL or POST input at all]. If no
> indication has been given that multiple occurrences are acceptable then
> an exception should be raised which, if not trapped by the web app,
> should eventually result in (say) a 422 (unprocessable entity) or a 406
> (not acceptable) server response.
I tend to agree with Steve here, but maybe we can have our cake and eat
it too.
Dumb-ass suggestion of the day: what if the field values were
represented by a dict subclass, and we had several different subclasses,
each of which specified the exact behavior for __getitem__(). E.g.
David could have his "_getitem__ is getfirst" behavior, Steve could have
his verified-multiples behavior, and I could have my "always return a
list" behavior. We'd then be reduced to choosing a default and a few
interfaces and everyone would be happy <wink>.
-Barry
More information about the Web-SIG
mailing list