annotate lib/cycloneerr.py @ 447:3d51d4b63497

patchsource py3 support. might break py2 Ignore-this: e7559afeb74ffa53bf2085f78455014
author drewp@bigasterisk.com
date Thu, 18 Apr 2019 21:58:19 -0700
parents 053fd552b675
children a63549a50b3f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
430
053fd552b675 some py3
drewp@bigasterisk.com
parents: 4
diff changeset
1 try:
053fd552b675 some py3
drewp@bigasterisk.com
parents: 4
diff changeset
2 import httplib
053fd552b675 some py3
drewp@bigasterisk.com
parents: 4
diff changeset
3 except ImportError:
447
3d51d4b63497 patchsource py3 support. might break py2
drewp@bigasterisk.com
parents: 430
diff changeset
4 import http.client as httplib # type: ignore
430
053fd552b675 some py3
drewp@bigasterisk.com
parents: 4
diff changeset
5 import cgi
4
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
6
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
7 class PrettyErrorHandler(object):
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
8 """
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
9 mix-in to improve cyclone.web.RequestHandler
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
10 """
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
11 def get_error_html(self, status_code, **kwargs):
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
12 try:
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
13 tb = kwargs['exception'].getTraceback()
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
14 except AttributeError:
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
15 tb = ""
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
16 return "<html><title>%(code)d: %(message)s</title>" \
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
17 "<body>%(code)d: %(message)s<pre>%(tb)s</pre></body></html>" % {
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
18 "code": status_code,
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
19 "message": httplib.responses[status_code],
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
20 "tb" : cgi.escape(tb),
be855a111619 move a bunch of services into this tree, give them all web status pages
drewp@bigasterisk.com
parents:
diff changeset
21 }