diff options
author | Cyril Roelandt <cyril.roelandt@enovance.com> | 2014-03-18 12:37:15 +0100 |
---|---|---|
committer | Cyril Roelandt <cyril.roelandt@enovance.com> | 2014-03-18 12:37:15 +0100 |
commit | 75df77ea040040f671fa96d710a4d64e7aa82f72 (patch) | |
tree | cf36e8135e8613d14054009b73e14ba291840536 /paste/util | |
parent | 099b1a74b1952f996757dc0a1a9f5d0dc75e7ff3 (diff) | |
download | paste-git-75df77ea040040f671fa96d710a4d64e7aa82f72.tar.gz |
Python 3: use six.reraise() to re-raise an exception with the traceback
Diffstat (limited to 'paste/util')
-rw-r--r-- | paste/util/scgiserver.py | 3 | ||||
-rw-r--r-- | paste/util/template.py | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/paste/util/scgiserver.py b/paste/util/scgiserver.py index 7963ed6..f65294d 100644 --- a/paste/util/scgiserver.py +++ b/paste/util/scgiserver.py @@ -25,6 +25,7 @@ Kudos to the WSGI folk for writing a nice PEP & the Quixote folk for writing a nice extensible SCGI server for Python! """ +import six import sys import time from scgi import scgi_server @@ -90,7 +91,7 @@ class SWAP(scgi_server.SCGIHandler): try: if headers_sent: # Re-raise original exception if headers sent - raise exc_info[0], exc_info[1], exc_info[2] + six.reraise(exc_info[0], exc_info[1], exc_info[2]) finally: exc_info = None # avoid dangling circular ref elif headers_set: diff --git a/paste/util/template.py b/paste/util/template.py index fd9e802..bcd282f 100644 --- a/paste/util/template.py +++ b/paste/util/template.py @@ -31,6 +31,7 @@ If there are syntax errors ``TemplateError`` will be raised. """ import re +import six import sys import cgi from six.moves.urllib.parse import quote @@ -207,7 +208,7 @@ class Template(object): else: arg0 = str(e) e.args = (self._add_line_info(arg0, pos),) - raise exc_info[0], e, exc_info[2] + six.reraise(exc_info[0], e, exc_info[2]) def _exec(self, code, ns, pos): __traceback_hide__ = True @@ -217,7 +218,7 @@ class Template(object): exc_info = sys.exc_info() e = exc_info[1] e.args = (self._add_line_info(e.args[0], pos),) - raise exc_info[0], e, exc_info[2] + six.reraise(exc_info[0], e, exc_info[2]) def _repr(self, value, pos): __traceback_hide__ = True @@ -235,7 +236,7 @@ class Template(object): exc_info = sys.exc_info() e = exc_info[1] e.args = (self._add_line_info(e.args[0], pos),) - raise exc_info[0], e, exc_info[2] + six.reraise(exc_info[0], e, exc_info[2]) else: if self._unicode and isinstance(value, str): if not self.decode_encoding: |