InternalName Class

Inheritance diagram of InternalName

class InternalName

An internal name in the compiler. You cannot create these nodes yourself but the parser provides a free_identifier() method that creates a new identifier for you. This identifier is not available from the template and is not threated specially by the compiler.

Methods

__init__()
as_const([eval_ctx]) Return the value of the expression as constant or raise
can_assign() Check if it’s possible to assign something to this node.
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 InternalName

Method details

__init__()

Attribute details

abstract = False
attributes = ('lineno', 'environment')
fields = ('name',)

Inherited member details

as_const(eval_ctx=None)

Return the value of the expression as constant or raise Impossible if this was not possible.

An EvalContext can be provided, if none is given a default context is created which requires the nodes to have an attached environment.

Changed in version 2.4: the eval_ctx parameter was added.

can_assign()

Check if it’s possible to assign something to this node.

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.

Table Of Contents

Previous topic

Include Class

Next topic

Keyword Class