Source code for sympy.printing.tree

def pprint_nodes(subtrees):
    """
[docs] Prettyprints systems of nodes. Examples ======== >>> from sympy.printing.tree import pprint_nodes >>> print(pprint_nodes(["a", "b1\\nb2", "c"])) +-a +-b1 | b2 +-c """ def indent(s,type=1): x = s.split("\n") r = "+-%s\n"%x[0] for a in x[1:]: if a=="": continue if type==1: r += "| %s\n"%a else: r += " %s\n"%a return r if len(subtrees)==0: return "" f=""; for a in subtrees[:-1]: f += indent(a) f += indent(subtrees[-1],2) return f def print_node(node): """
[docs] Returns a tree representation of "node" as a string. It uses print_node() together with pprint_nodes() on node.args recursively. See also: print_tree() """ subtrees = [] for arg in node.args: subtrees.append(tree(arg)) s = print_node(node)+pprint_nodes(subtrees) return s def print_tree(node): """