A little bit of work.
[krufty_fps.git] / demo / experimental.py~
blob7ad5137dcab62d709b87c3be1402aa2f1850418b
1 #!/usr/bin/python
2 # this has some dom related functions
4 def reduceDOM(dom):
6 results = {}
8 cur = []
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()
24 else:
26 parsed_stuff[0] = []
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])
38 return results
40 def reduceConfig(config):
42 results = {}
44 for item in config[1][0]:
45 results[item[0]] = item[1][0]
47 return results
49 def reduceObjectDef(file):
51 results = {}
53 for item in file[1][0]:
55 results[item[0]] = item[1][0]
57 return results
59 def reduceMenuDef(file):
61 name = None
62 script = None
63 elements = {}
65 for item in file[1][0]:
67 if item[0] == 'name':
68 name = item[1][0]
70 if item[0] == 'script':
71 script = item[1][0]
73 if item[0] == ''
75 return name, script, elements