MarkII is a development-mode error handler for Python web applications.
pip install markii
importfalconimportosfromfunctoolsimportpartialfrommarkii.frameworks.falconimporthandle_errorfrompasteimporthttpserverclassHandler(object):
defon_get(self, request, response, n):
response.body=str(int(n))
root=os.path.abspath(os.path.dirname(__file__))
app=falcon.API()
app.add_error_handler(Exception, partial(handle_error, app_root=root))
app.add_route("/{n}", Handler())
httpserver.serve(app, host="127.0.0.1", port="8080")importwebapp2fromfunctoolsimportpartialfrommarkii.frameworks.webapp2importhandle_errorfrompasteimporthttpserverclassHandler(webapp2.RequestHandler):
defget(self, n):
self.response.write(str(int(n)))
app=webapp2.WSGIApplication([
webapp2.Route(r"/<n:.*>", handler=Handler)
], debug=True)
app.error_handlers[400] =partial(handle_error, code=400)
app.error_handlers[404] =partial(handle_error, code=404)
app.error_handlers[500] =partial(handle_error, code=500)
httpserver.serve(app, host="127.0.0.1", port="8080")Make sure you only use MarkII in development mode.
On AppEngine, you must call markii.appengine.fix_appengine() inside
your error handler.
MarkII supports opening files in your editor when you double click a frame by taking advantage of OSX's URL handler feature. See:
MarkII borrows its ideas (and most of its look) from better_errors.
