diff --git a/lib/cycloneerr.py b/lib/cycloneerr.py new file mode 100644 --- /dev/null +++ b/lib/cycloneerr.py @@ -0,0 +1,17 @@ +import httplib, cgi + +class PrettyErrorHandler(object): + """ + mix-in to improve cyclone.web.RequestHandler + """ + def get_error_html(self, status_code, **kwargs): + try: + tb = kwargs['exception'].getTraceback() + except AttributeError: + tb = "" + return "%(code)d: %(message)s" \ + "%(code)d: %(message)s
%(tb)s
" % { + "code": status_code, + "message": httplib.responses[status_code], + "tb" : cgi.escape(tb), + }