aboutsummaryrefslogtreecommitdiffstats
path: root/mako/exceptions.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-11-11 14:38:56 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2012-11-11 14:38:56 -0500
commit1eb56ef02a7fa825be99ddfb95f217a07dab1cdf (patch)
treebf0857b7f42dec7db03910799eed7e5dda5e7c2b /mako/exceptions.py
parent4ab9664a515c265238d420b0373f7225fe2e53c7 (diff)
downloadexternal_python_mako-1eb56ef02a7fa825be99ddfb95f217a07dab1cdf.tar.gz
external_python_mako-1eb56ef02a7fa825be99ddfb95f217a07dab1cdf.tar.bz2
external_python_mako-1eb56ef02a7fa825be99ddfb95f217a07dab1cdf.zip
- first pass at running a py3k compatible base in py2k as well.
having some weird unicode issues I can't debug; the meaning of str.encode() seems to be changing globally somehow
Diffstat (limited to 'mako/exceptions.py')
-rw-r--r--mako/exceptions.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/mako/exceptions.py b/mako/exceptions.py
index b8d5ef3..fb9b3e6 100644
--- a/mako/exceptions.py
+++ b/mako/exceptions.py
@@ -6,8 +6,10 @@
"""exception classes"""
-import traceback, sys, re
-from mako import util
+import traceback
+import sys
+import re
+from mako import util, compat
class MakoException(Exception):
pass
@@ -84,12 +86,12 @@ class RichTraceback(object):
@property
def errorname(self):
- return util.exception_name(self.error)
+ return compat.exception_name(self.error)
def _init_message(self):
"""Find a unicode representation of self.error"""
try:
- self.message = unicode(self.error)
+ self.message = compat.text_type(self.error)
except UnicodeError:
try:
self.message = str(self.error)
@@ -97,8 +99,8 @@ class RichTraceback(object):
# Fallback to args as neither unicode nor
# str(Exception(u'\xe6')) work in Python < 2.6
self.message = self.error.args[0]
- if not isinstance(self.message, unicode):
- self.message = unicode(self.message, 'ascii', 'replace')
+ if not isinstance(self.message, compat.text_type):
+ self.message = compat.text_type(self.message, 'ascii', 'replace')
def _get_reformatted_records(self, records):
for rec in records:
@@ -150,7 +152,7 @@ class RichTraceback(object):
template_filename = info.template_filename or filename
except KeyError:
# A normal .py file (not a Template)
- if not util.py3k:
+ if not compat.py3k:
try:
fp = open(filename, 'rb')
encoding = util.parse_encoding(fp)