diff options
Diffstat (limited to 'mako/pyparser.py')
-rw-r--r-- | mako/pyparser.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mako/pyparser.py b/mako/pyparser.py index c79692c..34b2a6a 100644 --- a/mako/pyparser.py +++ b/mako/pyparser.py @@ -28,10 +28,14 @@ except ImportError: def parse(code, mode='exec', **exception_kwargs): """Parse an expression into AST""" + + try: if _ast: return _ast_util.parse(code, '<unknown>', mode) else: + if isinstance(code, unicode): + code = code.encode('ascii', 'backslashreplace') return compiler_parse(code, mode) except Exception, e: raise exceptions.SyntaxException("(%s) %s (%s)" % (e.__class__.__name__, str(e), repr(code[0:50])), **exception_kwargs) |