Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def __iter__(self):
- '''an iterator over MultiNodes
- '''
- def traverse(current, nodes=[]):
- # Case 1: We are at the root (and have list)
- if isinstance(current.children, list):
- children = current.children
- else:
- children = []
- for tag in current.children:
- children += current.children[tag]
- nodes = nodes + children
- # Traverse remainder of children
- for child in children:
- traverse(child, nodes)
- for node in nodes:
- yield node
- # Call function recursively
- nodes = []
- for node in traverse(self.root, nodes):
- yield node
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement