diff -r d60e732f2109 -r 2e93ba90fb92 http.py --- 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) : """