spiffyscore
File Annotation
Not logged in
18dba95a2e 2011-09-13         brian: import pdb
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian: class Tree():
029fd48614 2011-09-13         brian:     def __init__(self, name):
18dba95a2e 2011-09-13         brian:         self.nodes = []
029fd48614 2011-09-13         brian:         self.name = name
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian:     def traverse_depth_first(self):
18dba95a2e 2011-09-13         brian:         all_nodes = []
18dba95a2e 2011-09-13         brian:         for node in self.nodes:
18dba95a2e 2011-09-13         brian:             if isinstance(node, Node):
18dba95a2e 2011-09-13         brian:                 all_nodes.append(node)
18dba95a2e 2011-09-13         brian:             elif isinstance(node, Tree):
18dba95a2e 2011-09-13         brian: #                pdb.set_trace()
18dba95a2e 2011-09-13         brian:                 all_nodes.extend(node.traverse_depth_first())
18dba95a2e 2011-09-13         brian:         return all_nodes
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian:     def __str__(self):
18dba95a2e 2011-09-13         brian:         return str(self.__unicode__())
18dba95a2e 2011-09-13         brian:     def __unicode__(self):
18dba95a2e 2011-09-13         brian:         return self.nodes
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian: class Node():
18dba95a2e 2011-09-13         brian:     def __init__(self, parent, data):
18dba95a2e 2011-09-13         brian:         self.parent = parent
18dba95a2e 2011-09-13         brian:         self.data = data
18dba95a2e 2011-09-13         brian: 
18dba95a2e 2011-09-13         brian:     def __str__(self):
18dba95a2e 2011-09-13         brian:         return str(self.__unicode__())
18dba95a2e 2011-09-13         brian:     def __unicode__(self):
18dba95a2e 2011-09-13         brian:         return self.data