Updated jinja version
This commit is contained in:
@@ -12,14 +12,16 @@
|
||||
:copyright: (c) 2010 by the Jinja Team.
|
||||
:license: BSD, see LICENSE for more details.
|
||||
"""
|
||||
import types
|
||||
import operator
|
||||
from itertools import chain, izip
|
||||
|
||||
from collections import deque
|
||||
from jinja2.utils import Markup, MethodType, FunctionType
|
||||
from jinja2.utils import Markup
|
||||
from jinja2._compat import izip, with_metaclass, text_type
|
||||
|
||||
|
||||
#: the types we support for context functions
|
||||
_context_function_types = (FunctionType, MethodType)
|
||||
_context_function_types = (types.FunctionType, types.MethodType)
|
||||
|
||||
|
||||
_binop_to_func = {
|
||||
@@ -102,9 +104,9 @@ def get_eval_context(node, ctx):
|
||||
return ctx
|
||||
|
||||
|
||||
class Node(object):
|
||||
class Node(with_metaclass(NodeType, object)):
|
||||
"""Baseclass for all Jinja2 nodes. There are a number of nodes available
|
||||
of different types. There are three major types:
|
||||
of different types. There are four major types:
|
||||
|
||||
- :class:`Stmt`: statements
|
||||
- :class:`Expr`: expressions
|
||||
@@ -118,7 +120,6 @@ class Node(object):
|
||||
The `environment` attribute is set at the end of the parsing process for
|
||||
all nodes automatically.
|
||||
"""
|
||||
__metaclass__ = NodeType
|
||||
fields = ()
|
||||
attributes = ('lineno', 'environment')
|
||||
abstract = True
|
||||
@@ -142,7 +143,7 @@ class Node(object):
|
||||
setattr(self, attr, attributes.pop(attr, None))
|
||||
if attributes:
|
||||
raise TypeError('unknown attribute %r' %
|
||||
iter(attributes).next())
|
||||
next(iter(attributes)))
|
||||
|
||||
def iter_fields(self, exclude=None, only=None):
|
||||
"""This method iterates over all fields that are defined and yields
|
||||
@@ -440,7 +441,7 @@ class Const(Literal):
|
||||
constant value in the generated code, otherwise it will raise
|
||||
an `Impossible` exception.
|
||||
"""
|
||||
from compiler import has_safe_repr
|
||||
from .compiler import has_safe_repr
|
||||
if not has_safe_repr(value):
|
||||
raise Impossible()
|
||||
return cls(value, lineno=lineno, environment=environment)
|
||||
@@ -687,7 +688,7 @@ class Concat(Expr):
|
||||
|
||||
def as_const(self, eval_ctx=None):
|
||||
eval_ctx = get_eval_context(self, eval_ctx)
|
||||
return ''.join(unicode(x.as_const(eval_ctx)) for x in self.nodes)
|
||||
return ''.join(text_type(x.as_const(eval_ctx)) for x in self.nodes)
|
||||
|
||||
|
||||
class Compare(Expr):
|
||||
|
||||
Reference in New Issue
Block a user