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.