third_party/jinja2/compiler.py
def signature(self, node, frame, extra_kwargs=None):
        """Writes a function call to the stream for the current node.
        A leading comma is added automatically.  The extra keyword
        arguments may not include python keywords otherwise a syntax
        error could occur.  The extra keyword arguments should be given
        as python dict.
        """
        # if any of the given keyword arguments is a python keyword
        # we have to make sure that no invalid call is created.
        kwarg_workaround = False
        for kwarg in chain((x.key for x in node.kwargs), extra_kwargs or ()):
            if is_python_keyword(kwarg):
                kwarg_workaround = True
                break

        for arg in node.args:
            self.write(", ")
            self.visit(arg, frame)

        if not kwarg_workaround:
            for kwarg in node.kwargs:
                self.write(", ")
                self.visit(kwarg, frame)
            if extra_kwargs is not None:
                for key, value in iteritems(extra_kwargs):
                    self.write(", %s=%s" % (key, value))
        if node.dyn_args:
            self.write(", *")
            self.visit(node.dyn_args, frame)

        if kwarg_workaround:
            if node.dyn_kwargs is not None:
                self.write(", **dict({")
            else:
                self.write(", **{")
            for kwarg in node.kwargs:
                self.write("%r: " % kwarg.key)
                self.visit(kwarg.value, frame)
                self.write(", ")
            if extra_kwargs is not None:
                for key, value in iteritems(extra_kwargs):
                    self.write("%r: %s, " % (key, value))
            if node.dyn_kwargs is not None:
                self.write("}, **")
                self.visit(node.dyn_kwargs, frame)
                self.write(")")
            else:
                self.write("}")

        elif node.dyn_kwargs is not None:
            self.write(", **")
            self.visit(node.dyn_kwargs, frame)
Writes a function call to the stream for the current node.
        A leading comma is added automatically.  The extra keyword
        arguments may not include python keywords otherwise a syntax
        error could occur.  The extra keyword arguments should be given
        as python dict.
        
Writes a function call to the stream for the current node.
A leading comma is added automatically.  The extra keyword
arguments may not include python keywords otherwise a syntax
error could occur.  The extra keyword arguments should be given
as python dict.
Writes a function call to the stream for the current node . A leading comma is added automatically . The extra keyword arguments may not include python keywords otherwise a syntax error could occur . The extra keyword arguments should be given as python dict .
def signature(self, node, frame, extra_kwargs=None):
        kwarg_workaround = False
        for kwarg in chain((x.key for x in node.kwargs), extra_kwargs or ()):
            if is_python_keyword(kwarg):
                kwarg_workaround = True
                break
        for arg in node.args:
            self.write(", ")
            self.visit(arg, frame)
        if not kwarg_workaround:
            for kwarg in node.kwargs:
                self.write(", ")
                self.visit(kwarg, frame)
            if extra_kwargs is not None:
                for key, value in iteritems(extra_kwargs):
                    self.write(", %s=%s" % (key, value))
        if node.dyn_args:
            self.write(", *")
            self.visit(node.dyn_args, frame)
        if kwarg_workaround:
            if node.dyn_kwargs is not None:
                self.write(", **dict({")
            else:
                self.write(", **{")
            for kwarg in node.kwargs:
                self.write("%r: " % kwarg.key)
                self.visit(kwarg.value, frame)
                self.write(", ")
            if extra_kwargs is not None:
                for key, value in iteritems(extra_kwargs):
                    self.write("%r: %s, " % (key, value))
            if node.dyn_kwargs is not None:
                self.write("}, **")
                self.visit(node.dyn_kwargs, frame)
                self.write(")")
            else:
                self.write("}")
        elif node.dyn_kwargs is not None:
            self.write(", **")
            self.visit(node.dyn_kwargs, frame)
def signature ( self , node , frame , extra_kwargs = None ) : kwarg_workaround = False for kwarg in chain ( ( x . key for x in node . kwargs ) , extra_kwargs or ( ) ) : if is_python_keyword ( kwarg ) : kwarg_workaround = True break for arg in node . args : self . write ( ", " ) self . visit ( arg , frame ) if not kwarg_workaround : for kwarg in node . kwargs : self . write ( ", " ) self . visit ( kwarg , frame ) if extra_kwargs is not None : for key , value in iteritems ( extra_kwargs ) : self . write ( ", %s=%s" % ( key , value ) ) if node . dyn_args : self . write ( ", *" ) self . visit ( node . dyn_args , frame ) if kwarg_workaround : if node . dyn_kwargs is not None : self . write ( ", **dict({" ) else : self . write ( ", **{" ) for kwarg in node . kwargs : self . write ( "%r: " % kwarg . key ) self . visit ( kwarg . value , frame ) self . write ( ", " ) if extra_kwargs is not None : for key , value in iteritems ( extra_kwargs ) : self . write ( "%r: %s, " % ( key , value ) ) if node . dyn_kwargs is not None : self . write ( "}, **" ) self . visit ( node . dyn_kwargs , frame ) self . write ( ")" ) else : self . write ( "}" ) elif node . dyn_kwargs is not None : self . write ( ", **" ) self . visit ( node . dyn_kwargs , frame )
Writes a function call to the stream for the current node.
Writes a function call to the stream for the current node .
"""Writes a function call to the stream for the current node.
        A leading comma is added automatically.  The extra keyword
        arguments may not include python keywords otherwise a syntax
        error could occur.  The extra keyword arguments should be given
        as python dict.
        """ # if any of the given keyword arguments is a python keyword # we have to make sure that no invalid call is created.
self
node
frame
extra_kwargs