1 from Screen import Screen
2 from Components.ActionMap import ActionMap
3 from Components.config import configEntry
4 from Components.ConfigList import ConfigList
7 from xml.dom import EMPTY_NAMESPACE
8 from skin import elementsWithTag
10 from Tools import XMLTools
12 setupdom = xml.dom.minidom.parseString(
14 <setup key="rc" title="RC Menu">
15 <item text="Repeat Rate">config.inputDevices.repeat</item>
16 <item text="Delay Rate">config.inputDevices.delay</item>
20 def getValbyAttr(x, attr):
21 for p in range(x.attributes.length):
22 a = x.attributes.item(p)
32 def addItems(self, list, childNode):
34 if x.nodeType != xml.dom.minidom.Element.nodeType:
36 elif x.tagName == 'item':
37 ItemText = getValbyAttr(x, "text")
38 b = XMLTools.mergeText(x.childNodes);
39 print "item " + ItemText + " " + b
41 list.append(configEntry(ItemText))
43 def __init__(self, session, setup):
44 Screen.__init__(self, session)
46 print "request setup for " + setup
48 entries = setupdom.childNodes
52 for x in entries: #walk through the actual nodelist
53 if x.nodeType != xml.dom.minidom.Element.nodeType:
55 elif x.tagName == 'setup':
56 ItemText = getValbyAttr(x, "key")
59 self.addItems(list, x.childNodes);
61 #check for list.entries > 0 else self.close
62 self["config"] = ConfigList(list)
64 self["actions"] = ActionMap(["OkCancelActions"],