MarkII is a development-mode error handler for Python web applications.
pip install markii
import falcon
import os
from functools import partial
from markii.frameworks.falcon import handle_error
from paste import httpserver
class Handler(object):
def on_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")
import webapp2
from functools import partial
from markii.frameworks.webapp2 import handle_error
from paste import httpserver
class Handler(webapp2.RequestHandler):
def get(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.