2 # this has some dom related functions
10 def parseLevel(level
):
11 parsed_stuff
= [[], {}]
13 if level
.hasAttributes():
14 for i
in range(len(level
.attributes
)):
16 attrname
= level
.attributes
.item(i
).name
.encode()
18 parsed_stuff
[1][attrname
] = level
.attributes
.item(1).value
.encode()
20 if len(level
.childNodes
) == 1 and level
.childNodes
[0].nodeType
== 3:
22 parsed_stuff
[0] = level
.childNodes
[0].nodeValue
.encode()
28 for node
in level
.childNodes
:
29 if node
.nodeType
== 1:
31 name
, contents
= parseLevel(node
)
32 parsed_stuff
[0].append([name
, contents
])
34 return level
.nodeName
.encode(), parsed_stuff
36 results
= parseLevel(dom
.childNodes
[0])
40 def reduceConfig(config
):
44 for item
in config
[1][0]:
45 results
[item
[0]] = item
[1][0]
49 def reduceObjectDef(file):
53 for item
in file[1][0]:
55 results
[item
[0]] = item
[1][0]
59 def reduceMenuDef(file):
65 for item
in file[1][0]:
70 if item
[0] == 'script':
75 return name
, script
, elements