funcparserlib.util
— Various utilities
funcparserlib.util.pretty_tree(x, kids, show)
Return a pseudo-graphic tree representation of the object x
similar to the
tree
command in Unix.
Type: (T, Callable[[T], List[T]], Callable[[T], str]) -> str
It applies the parameter show
(which is a function of type (T) -> str
) to get a
textual representation of the objects to show.
It applies the parameter kids
(which is a function of type (T) -> List[T]
) to
list the children of the object to show.
Examples:
>>> print(pretty_tree(
... ["foo", ["bar", "baz"], "quux"],
... lambda obj: obj if isinstance(obj, list) else [],
... lambda obj: "[]" if isinstance(obj, list) else str(obj),
... ))
[]
|-- foo
|-- []
| |-- bar
| `-- baz
`-- quux