I often run into this problem:
def index():
record=db.tablename(request.args(0)) or redirect(URL('error'))
which assumes request.args(0) is integer or missing. If not it issues a
ticket. In trunk there is a new request.intargs which allows
def index():
record=db.tablename(request.intargs(0,default=0)) or
redirect(URL('error'))
so that is never issues a ticket. If the request.args(0) is missing it uses
default=0 else ir raises HTTP(404).
It it returns is also returns an integer.
It also takes the optional parameter url_onerror which allows redirect
instead of raise HTTP(404).
Before this makes it into 2.0, please send comments and suggestions for
improvement.