--- a/http.py Sat Feb 14 19:24:57 2009 +0200
+++ b/http.py Mon Feb 16 01:09:58 2009 +0200
@@ -147,16 +147,28 @@
# just check REQUEST_METHOD
return (self.env['REQUEST_METHOD'].upper() == 'POST')
- def get_post (self, name) :
+ class _nodefault : pass
+ def get_post (self, name, default=_nodefault) :
"""
- Get the value of the given POST field
+ Get the value of the given POST field.
+
+ If the optional `default` arg is given, it is returned if the key is not found
"""
# sanity-check
assert self.post_data
- # return the FieldStorage value
- return self.post_data[name].value
+ if name in self.post_data :
+ # return the FieldStorage value
+ return self.post_data[name].value
+
+ elif default != self._nodefault :
+ # return the default value
+ return default
+
+ else :
+ # fail
+ raise KeyError(name)
class Response (object) :
"""