def __unicode__(self): drawer = LeftAligned( traverse=TreeTraversal(), draw=BoxStyle(gfx=self.unicode_kwargs, **self.text_kwargs), ) root = self.node_cls(self.group, level=self.level) return drawer(root)
def __bytes__(self): drawer = LeftAligned(traverse=TreeTraversal(), draw=BoxStyle(gfx=self.bytes_kwargs, **self.text_kwargs)) root = TreeNode(self.group, level=self.level) result = drawer(root) # Unicode characters slip in on Python 3. # So we need to straighten that out first. result = result.encode() return result
def print_graph(self): tree = {} iterate(self.nodes, self.root, tree) tr = LeftAligned(draw=BoxStyle( node_label=lambda x: f"| {self.nodes[x].label}", label_space=0)) print(tr(tree))