Esempio n. 1
0
def format_node_tree(node, filterfunc=None):
    if filterfunc is None:
        filterfunc = lambda n: n.type in SHOW_NODES

    def childiter(nodes):
        nodes = [n for n in nodes if filterfunc(n)]
        return sorted(nodes, key=lambda node: (node._type, node.name))

    depth = node.depth
    render = anytree.RenderTree(node, childiter=childiter,
                                style=anytree.ContRoundStyle())
    lines = []
    for pre, _, node in render:
        lines.append(pre + format_node(node, pre, depth))
    return "\n".join(lines)
Esempio n. 2
0
 def print_tree(self,
                node,
                style=anytree.ContRoundStyle(),
                fmt='native',
                header=False):
     '''
     print the tree similar to unix tool "tree"
     @node: start node
     @style: when fmt=native, defines the tree style
     @fmt: output format
     @header: when fmt=csv, print the header
     '''
     if fmt == 'native':
         rend = anytree.RenderTree(node, childiter=self._sort_tree)
         for pre, fill, node in rend:
             self._print_node(node, pre=pre, withdepth=True)
     elif fmt == 'csv':
         self._to_csv(node, with_header=header)
Esempio n. 3
0
def test_controundstyle():
    style = anytree.ContRoundStyle()
    eq_(style.vertical, u'\u2502   ')
    eq_(style.cont, u'\u251c\u2500\u2500 ')
    eq_(style.end, u'\u2570\u2500\u2500 ')
Esempio n. 4
0
 def print_tree(self, node, style=anytree.ContRoundStyle()):
     '''print the tree similar to unix tool "tree"'''
     rend = anytree.RenderTree(node, childiter=self._sort_tree)
     for pre, fill, node in rend:
         self._print_node(node, pre=pre, withdepth=True)
Esempio n. 5
0
 def __init__(self, node):
     anytree.RenderTree.__init__(self,
                                 node,
                                 style=anytree.ContRoundStyle(),
                                 childiter=self.childsort)
Esempio n. 6
0
 def render(self):
     if self.filename == Path():
         return "ConfigNode(Empty)"
     return anytree.RenderTree(self, anytree.ContRoundStyle())