7
7
# Anyway, I'd *love* to be able to unregister this signal handler.
9
9
def signalHandler (signal, frame):
11
11
signal.signal(signal.SIGINT, signalHandler)
14
14
def plain (node, depth = 0):
16
Plain-text dump. The hierarchy is represented through indentation.
17
The default indentation string is a single space, ' ', but can be changed.
19
print spacer*(depth) + str (node)
21
for action in node.actions:
22
print spacer*(depth + 1) + str (action)
23
except AttributeError: pass
25
for child in node.children:
26
plain (child, depth + 1)
27
except AttributeError: pass
16
Plain-text dump. The hierarchy is represented through indentation.
17
The default indentation string is a single space, ' ', but can be changed.
19
print spacer*(depth) + str (node)
21
for action in node.actions:
22
print spacer*(depth + 1) + str (action)
23
except AttributeError: pass
25
for child in node.children:
26
plain (child, depth + 1)
27
except AttributeError: pass
30
try: import cElementTree as ElementTree
31
except ImportError: from elementtree import ElementTree
32
def buildElementTree (parentElement, node):
33
element = ElementTree.SubElement(parentElement, 'node')
34
name = ElementTree.SubElement(element, 'name')
36
roleName = ElementTree.SubElement(element, 'roleName')
37
roleName.text = node.roleName
38
description = ElementTree.SubElement(element, 'description')
39
description.text = node.description
41
text = ElementTree.SubElement(element, 'text')
43
except AttributeError: pass
46
for action in node.actions:
47
actionElement = ElementTree.SubElement(element, 'action')
48
name = ElementTree.SubElement(actionElement, 'name')
49
name.text = action.name
50
description = ElementTree.SubElement(actionElement, 'description')
51
description.text = action.description
52
keyBinding = ElementTree.SubElement(actionElement, 'keyBinding')
53
keyBinding.text = action.keyBinding
54
except AttributeError: pass
57
for child in node.children:
58
buildElementTree(element, child)
59
except AttributeError: pass
60
root = ElementTree.Element('node')
62
buildElementTree(root, node)
63
tree = ElementTree.ElementTree(root)
64
ElementTree.dump(tree)
30
try: import cElementTree as ElementTree
31
except ImportError: from elementtree import ElementTree
32
def buildElementTree (parentElement, node):
33
element = ElementTree.SubElement(parentElement, 'node')
34
name = ElementTree.SubElement(element, 'name')
36
roleName = ElementTree.SubElement(element, 'roleName')
37
roleName.text = node.roleName
38
description = ElementTree.SubElement(element, 'description')
39
description.text = node.description
41
text = ElementTree.SubElement(element, 'text')
43
except AttributeError: pass
46
for action in node.actions:
47
actionElement = ElementTree.SubElement(element, 'action')
48
name = ElementTree.SubElement(actionElement, 'name')
49
name.text = action.name
50
description = ElementTree.SubElement(actionElement, 'description')
51
description.text = action.description
52
keyBinding = ElementTree.SubElement(actionElement, 'keyBinding')
53
keyBinding.text = action.keyBinding
54
except AttributeError: pass
57
for child in node.children:
58
buildElementTree(element, child)
59
except AttributeError: pass
60
root = ElementTree.Element('node')
62
buildElementTree(root, node)
63
tree = ElementTree.ElementTree(root)
64
ElementTree.dump(tree)