Step 5: Handler Map
There is a section of code that maps incoming requests to the handlers
As per GAE's default webapp WSGI framework, there's a mapping, at the end of passingkeys.py, between our defined URL regex's and our request handlers. So the end of every main web application module in GAE-land looks like this:
application = webapp.WSGIApplication(
[('/', HomePage),
('/list_form/', CreateList),
('/create_list/', CreateList),
('/item_form/(.*)/', CreateItem),
('/create_item/', CreateItem)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
A critically important feature used here, relative to passing keys in a Python/GAE implementation, is the "(.*)" in the regex. This passes the contents of that URL sub-string (a key passed back from the user) as an argument to CreateItem's CGI GET handler. In two steps, you'll see this assigned to the variable "list_key" inside CreateItem.get.