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':
73 if item
[0] != 'script' and item
[0] != 'name':
75 temp
['contents'] = item
[1][0]
76 temp
['type'] = item
[0]
77 elements
[temp
['id']] = temp
79 return name
, script
, elements
81 def reduceInstance(item
):
86 results
['contents'] = item
[1][0]
90 def convertEvent(self
, e
):
96 if e
.type == ACTIVEEVENT
:
98 data
['state'] = e
.state
100 if e
.type == KEYDOWN
:
101 data
['unicode'] = e
.unicode
109 if e
.type == MOUSEMOTION
:
112 data
['buttons'] = e
.buttons
114 if e
.type == MOUSEBUTTONUP
:
116 data
['button'] = e
.button
118 if e
.type == MOUSEBUTTONDOWN
:
120 data
['button'] = e
.button
122 if e
.type == JOYAXISMOTION
:
124 data
['axis'] = e
.axis
125 data
['value'] = e
.value
127 if e
.type == JOYBALLMOTION
:
129 data
['ball'] = e
.ball
132 if e
.type == JOYHATMOTION
:
135 data
['value'] = e
.value
137 if e
.type == JOYBUTTONUP
:
139 data
['button'] = e
.button
141 if e
.type == JOYBUTTONDOWN
:
143 data
['button'] = e
.button
145 if e
.type == VIDEORESIZE
:
146 data
['size'] = e
.size
150 if e
.type == VIDEOEXPOSE
:
153 if e
.type == USEREVENT
:
154 data
['code'] = e
.code
158 if e
.type == QUIT
: type = "QUIT"
159 if e
.type == ACTIVEEVENT
: type = "ACTIVEEVENT"
160 if e
.type == KEYDOWN
: type = "KEYDOWN"
161 if e
.type == KEYUP
: type = "KEYUP"
162 if e
.type == MOUSEMOTION
: type = "MOUSEMOTION"
163 if e
.type == MOUSEBUTTONUP
: type = "MOUSEBUTTONUP"
164 if e
.type == MOUSEBUTTONDOWN
: type = "MOUSEBUTTONDOWN"
165 if e
.type == JOYAXISMOTION
: type = "JOYAXISMOTION"
166 if e
.type == JOYBALLMOTION
: type = "JOYBALLMOTION"
167 if e
.type == JOYHATMOTION
: type = "JOYHATMOTION"
168 if e
.type == JOYBUTTONUP
: type = "JOYBUTTONUP"
169 if e
.type == JOYBUTTONDOWN
: type = "JOYBUTTONDOWN"
170 if e
.type == VIDEORESIZE
: type = "VIDEORESIZE"
171 if e
.type == VIDEOEXPOSE
: type = "VIDEOEXPOSE"
172 if e
.type == USEREVENT
: type = "USEREVENT"