diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-11-11 14:38:56 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-11-11 14:38:56 -0500 |
commit | 1eb56ef02a7fa825be99ddfb95f217a07dab1cdf (patch) | |
tree | bf0857b7f42dec7db03910799eed7e5dda5e7c2b /mako/exceptions.py | |
parent | 4ab9664a515c265238d420b0373f7225fe2e53c7 (diff) | |
download | external_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.py | 16 |
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) |