add xml stuff
authorRonny Strutz <ronny.strutz@multimedia-labs.de>
Tue, 16 Aug 2005 03:25:52 +0000 (03:25 +0000)
committerRonny Strutz <ronny.strutz@multimedia-labs.de>
Tue, 16 Aug 2005 03:25:52 +0000 (03:25 +0000)
lib/python/Screens/Setup.py

index 6630923..582314d 100644 (file)
@@ -1,15 +1,62 @@
 from Screen import Screen
 from Components.ActionMap import ActionMap
+
+import xml.dom.minidom
+from xml.dom import EMPTY_NAMESPACE
+from skin import elementsWithTag
+
+from Tools import XMLTools
+
+setupdom = xml.dom.minidom.parseString(
+       """
+       <setup key="rc" title="RC Menu">
+               <item text="Repeat Rate">config.inputDevices.repeat</item>
+               <item text="Delay Rate">config.inputDevices.delay</item>
+       </setup>
+       """)
+
+def getValbyAttr(x, attr):
+       for p in range(x.attributes.length):
+               a = x.attributes.item(p)
+               attrib = str(a.name)
+               value = str(a.value)
+               if attrib == attr:
+                       return value
        
+       return ""
+
 class Setup(Screen):
+
+       def createDialog(self, childNode):
+               print "createDialog"
+               for x in childNode:
+                       if x.nodeType != xml.dom.minidom.Element.nodeType:
+                               continue
+                       elif x.tagName == 'item':
+                               ItemText = getValbyAttr(x, "text")
+                               b = XMLTools.mergeText(x.childNodes);
+                               print "item " + ItemText + " " + b
+                               #add to configlist
+                               
        def __init__(self, session, setup):
                Screen.__init__(self, session)
 
                print "request setup for " + setup
+               
+               entries = setupdom.childNodes
+               
+               for x in entries:             #walk through the actual nodelist
+                       if x.nodeType != xml.dom.minidom.Element.nodeType:
+                               continue
+                       elif x.tagName == 'setup':
+                               ItemText = getValbyAttr(x, "key")
+                               if ItemText != setup:
+                                       continue
+                               self.createDialog(x.childNodes);
+                               
 
                self["actions"] = ActionMap(["OkCancelActions"], 
                        {
                                #"ok": self.inc,
                                "cancel": self.close
                        })
-