# vim: set fileencoding=utf-8 : class Node(object): def __init__(self, value, *nodes): self.value, self.nodes = value, list(nodes) self.parent = None for a in self.nodes: a.parent = self def __getitem__(self, n): return self.nodes[n] def __setitem__(self, n, node): self.nodes[n] = node def __iter__(self): return iter(self.nodes) def __len__(self): return len(self.nodes) def title(self): return str(self.value) class Leaf(object): def __init__(self, value): self.value = value self.parent = None def __repr__(self): return repr(self.value) def __str__(self): return str(self.value) def title(self): return str(self.value)