Node Class

Inheritance diagram of Node

class Node(*fields, **attributes)

Baseclass for all Jinja2 nodes. There are a number of nodes available of different types. There are three major types:

All nodes have fields and attributes. Fields may be other nodes, lists, or arbitrary values. Fields are passed to the constructor as regular positional arguments, attributes as keyword arguments. Each node has two attributes: lineno (the line number of the node) and environment. The environment attribute is set at the end of the parsing process for all nodes automatically.

Methods

__init__(*fields, **attributes)
find(node_type) Find the first node of a given type.
find_all(node_type) Find all the nodes of a given type.
iter_child_nodes([exclude, only]) Iterates over all direct child nodes of the node.
iter_fields([exclude, only]) This method iterates over all fields that are defined and yields (key, value) tuples.
set_ctx(ctx) Reset the context of a node and all child nodes.
set_environment(environment) Set the environment for all nodes.
set_lineno(lineno[, override]) Set the line numbers of the node and children.

Attributes

abstract bool(x) -> bool
attributes tuple() -> empty tuple
fields tuple() -> empty tuple

Descriptions

class Node

Method details

__init__(*fields, **attributes)
find(node_type)

Find the first node of a given type. If no such node exists the return value is None.

find_all(node_type)

Find all the nodes of a given type. If the type is a tuple, the check is performed for any of the tuple items.

iter_child_nodes(exclude=None, only=None)

Iterates over all direct child nodes of the node. This iterates over all fields and yields the values of they are nodes. If the value of a field is a list all the nodes in that list are returned.

iter_fields(exclude=None, only=None)

This method iterates over all fields that are defined and yields (key, value) tuples. Per default all fields are returned, but it’s possible to limit that to some fields by providing the only parameter or to exclude some using the exclude parameter. Both should be sets or tuples of field names.

set_ctx(ctx)

Reset the context of a node and all child nodes. Per default the parser will all generate nodes that have a ‘load’ context as it’s the most common one. This method is used in the parser to set assignment targets and other nodes to a store context.

set_environment(environment)

Set the environment for all nodes.

set_lineno(lineno, override=False)

Set the line numbers of the node and children.

Attribute details

abstract = True
attributes = ('lineno', 'environment')
fields = ()

Table Of Contents

Previous topic

Neg Class

Next topic

NodeType Class