From: Alex Morega Date: Sat, 18 May 2013 12:35:46 +0000 (+0300) Subject: Python 3 exceptions can handle unicode messages X-Git-Tag: 2.7~56^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F222%2Fhead;p=thirdparty%2Fjinja.git Python 3 exceptions can handle unicode messages --- diff --git a/jinja2/exceptions.py b/jinja2/exceptions.py index 813b7fb0..9fe698b5 100644 --- a/jinja2/exceptions.py +++ b/jinja2/exceptions.py @@ -8,6 +8,7 @@ :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. """ +import sys import six from six.moves import map @@ -15,17 +16,26 @@ from six.moves import map class TemplateError(Exception): """Baseclass for all template errors.""" - def __init__(self, message=None): - if message is not None: - message = six.text_type(message).encode('utf-8') - Exception.__init__(self, message) - - @property - def message(self): - if self.args: - message = self.args[0] + if sys.version_info[0] < 3: + def __init__(self, message=None): if message is not None: - return message.decode('utf-8', 'replace') + message = six.text_type(message).encode('utf-8') + Exception.__init__(self, message) + + @property + def message(self): + if self.args: + message = self.args[0] + if message is not None: + return message.decode('utf-8', 'replace') + + else: + @property + def message(self): + if self.args: + message = self.args[0] + if message is not None: + return message class TemplateNotFound(IOError, LookupError, TemplateError):