summaryrefslogtreecommitdiff
path: root/paste/util
diff options
context:
space:
mode:
authorCyril Roelandt <cyril.roelandt@enovance.com>2014-03-18 12:37:15 +0100
committerCyril Roelandt <cyril.roelandt@enovance.com>2014-03-18 12:37:15 +0100
commit6916751bf7d7107f5dce709c02ae8e60c46e1176 (patch)
treecf36e8135e8613d14054009b73e14ba291840536 /paste/util
parent9789a96ca9aab44bd71fdcfc5c0bed1ef7cf0838 (diff)
downloadpaste-6916751bf7d7107f5dce709c02ae8e60c46e1176.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.py3
-rw-r--r--paste/util/template.py7
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: