Tree

exception bertlv.tree.TlvError(message: str, **kwargs)[source]

Bases: Exception

class bertlv.tree.TlvNode(tag: bertlv.tag.Tag, value: Optional[bytes] = None, parent: Optional[bertlv.tree.TlvNode] = None, children: Optional[Iterable[bertlv.tree.TlvNode]] = None)[source]

Bases: anytree.node.node.Node

property value
property length
is_constructed()bool[source]
dump()str[source]

Return a string representing the tree starting at this node.

resolve(path: str)bertlv.tree.TlvNode[source]

Return the node at path.

class bertlv.tree.Tree(children: Optional[Iterable[bertlv.tree.TlvNode]] = None)[source]

Bases: bertlv.tree.TlvNode

class bertlv.tree.BuilderBase[source]

Bases: abc.ABC

abstract close()bertlv.tree.Tree[source]

Flush the builder buffers, and return the tree.

abstract end(tag: bertlv.tag.Tag)Any[source]

Close the current TLV node.

abstract data(data: bytes)Any[source]

Add a value to the current TLV node.

abstract start(tag: bertlv.tag.Tag)Any[source]

Open a new TLV node with the given tag.

class bertlv.tree.TreeBuilder(node_factory: Optional[Callable] = None)[source]

Bases: bertlv.tree.BuilderBase

close()bertlv.tree.Tree[source]

Flush the builder buffers, and return the tree.

end(tag: bertlv.tag.Tag)bertlv.tree.TlvNode[source]

Close the current TLV node. Return the closed node.

data(data: bytes)Any[source]

Add a value to the current TLV node.

start(tag: bertlv.tag.Tag)bertlv.tree.TlvNode[source]

Open a new TLV node with the given tag. Return the opened node.