argsloader.utils.formattree¶
- Overview:
Library for formatting trees.
This is a copy of https://github.com/jml/tree-format, with a few modifications, its based commit id is 4c6de1074d96129b7e03eecdf42fac2cde3b5151.
- Changes:
The
NEWLINE
value is modified to empty string for the vision of final tree.The
print_tree
function is removed because it is nowhere to be used in our case.Add
__doc__
forformat_tree
function.All the
\n
strings are replaced toos.linesep
.The code is reformatted.
format_tree¶
-
argsloader.utils.formattree.
format_tree
(node, format_node, get_children, encoding=None) → str[source]¶ - Overview:
Format the given tree.
- Arguments:
node: Node object
format_node: Format node getter
get_children: Children getter.
- encoding: Encoding to be used. Default is
None
which means system encoding. When ASCII encoding is used, ASCII chars will be used instead of original chars.
- encoding: Encoding to be used. Default is
- Returns:
formatted: Formatted string.
- Example:
>>> from operator import itemgetter >>> from argsloader.utils import format_tree >>> tree = ( ... 'foo', [ ... ('bar', [ ... ('a', []), ... ('b', []), ... ]), ... ('baz', []), ... ('qux', [ ... ('c\nd', []), ... ]), ... ], ... ) >>> format_tree(tree, format_node=itemgetter(0), get_children=itemgetter(1)) foo ├── bar │ ├── a │ └── b ├── baz └── qux └── c d