From: Armin Ronacher Date: Sat, 18 May 2013 11:23:30 +0000 (+0100) Subject: Merge remote-tracking branch 'ThomasWaldmann/sprint-branch' into sprint-branch X-Git-Tag: 2.7~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6b4b0442eb21e069da35930e419c7183d8313d5;p=thirdparty%2Fjinja.git Merge remote-tracking branch 'ThomasWaldmann/sprint-branch' into sprint-branch --- f6b4b0442eb21e069da35930e419c7183d8313d5 diff --cc jinja2/_compat.py index 00000000,a7387574..6318f0b1 mode 000000,100644..100644 --- a/jinja2/_compat.py +++ b/jinja2/_compat.py @@@ -1,0 -1,19 +1,24 @@@ + # -*- coding: utf-8 -*- + """ + jinja2._compat + ~~~~~~~~~~~~~~ + + Some py2/py3 compatibility support that is not yet available in + "six" 1.3.0. + There are bugs open for "six" for all this stuff, so we can remove it + again from here as soon as we require a new enough "six" release. + + :copyright: Copyright 2013 by the Jinja team, see AUTHORS. + :license: BSD, see LICENSE for details. + """ + + # https://bitbucket.org/gutworth/six/issue/25/add-unichr + try: + unichr = unichr # py2 + except NameError: + unichr = chr # py3 ++ ++try: ++ range_type = xrange ++except NameError: ++ range_type = range diff --cc jinja2/_markupsafe/__init__.py index c3062b82,49775f65..5ffb57d7 --- a/jinja2/_markupsafe/__init__.py +++ b/jinja2/_markupsafe/__init__.py @@@ -11,10 -11,8 +11,7 @@@ import re import six from six.moves import map - try: - unichr = unichr # py2 - except NameError: - unichr = chr # py3 -from six.moves import zip + from jinja2._compat import unichr __all__ = ['Markup', 'soft_unicode', 'escape', 'escape_silent'] diff --cc jinja2/compiler.py index 47bd6ec2,1b1b5a75..ec669083 --- a/jinja2/compiler.py +++ b/jinja2/compiler.py @@@ -15,15 -15,11 +15,10 @@@ from jinja2.nodes import EvalContex from jinja2.visitor import NodeVisitor from jinja2.exceptions import TemplateAssertionError from jinja2.utils import Markup, concat, escape, is_python_keyword ++from jinaj2._compat import range_type import six -from six.moves import cStringIO as StringIO -from six.moves import map, zip -from six.moves import xrange +from six.moves import cStringIO as StringIO, map - # TODO: Move this to the compat module. - try: - range_type = xrange - except NameError: - range_type = range - operators = { 'eq': '==', @@@ -72,7 -76,7 +67,8 @@@ def has_safe_repr(value) """Does the node have a safe representation?""" if value is None or value is NotImplemented or value is Ellipsis: return True - if isinstance(value, (bool, int, float, complex, range_type, Markup) + six.string_types): - if isinstance(value, (bool, int, float, complex, xrange, Markup) + six.string_types): ++ if isinstance(value, (bool, int, float, complex, range_type, ++ Markup) + six.string_types): return True if isinstance(value, (tuple, list, set, frozenset)): for item in value: