diff tools/memory.py @ 18:6928e3cb73a8

refactoring: using xml params part II
author Goffi <goffi@goffi.org>
date Fri, 06 Nov 2009 23:31:00 +0100
parents 74a39f40eb6d
children f2a745ca0fbc
line wrap: on
line diff
--- a/tools/memory.py	Fri Nov 06 19:48:57 2009 +0100
+++ b/tools/memory.py	Fri Nov 06 23:31:00 2009 +0100
@@ -38,9 +38,9 @@
     default_xml = """
     <params>
     <category name="Connection">
-        <param name="JabberID" value="goffi@jabber.goffi.int/TestScript" type="string" />
+        <param name="JabberID" value="goffi@necton2.int/TestScript" type="string" />
         <param name="Password" value="toto" type="password" />
-        <param name="Server" value="jabber.goffi.int" type="string" />
+        <param name="Server" value="necton2.int" type="string" />
     </category>
     <category name="File Transfert">
         <param name="IP" value="192.168.0.10" type="string" />
@@ -70,14 +70,15 @@
         return node.getAttribute("value")
 
     def getParams(self):
-        """Return the wold params XML"""
+        """Return the whole params XML"""
         return self.dom.toxml()
 
-
-    """def getParam(self, name, category):
-        if self.params.has_key(namespace) and self.params[namespace].has_key(name):
-            return self.params[namespace][name]
-        return ["",""]"""
+    def getParamsForCategory(self, category):
+        """Return node's xml for selected category"""
+        for node in self.dom.documentElement.childNodes:
+            if node.nodeName == "category" and node.getAttribute("name") == category:
+                return node.toxml()
+        return "<category />"
 
     def __getParamNode(self, name, category):
         for node in self.dom.documentElement.childNodes:
@@ -88,15 +89,6 @@
                         return param
         return None
         
-
-    """def getParams(self, namespace):
-        if self.params.has_key(namespace):
-            ret=[]
-            for name in self.params[namespace]:
-                ret.append([name] + self.params[namespace][name])
-            return ret
-        return [[]]"""
-
     def getParamsCategories(self):
         """return the categories availables"""
         categories=[]
@@ -108,13 +100,13 @@
         node = self.__getParamNode(name, category)
         if not node:
             return #TODO: throw an error
-        node.setAttribute(name, value)
+        node.setAttribute("value", value)
 
-    """def createParam (self, name, value, type, namespace):
+    """def createParam (self, name, value, type, category):
         ### TODO: add desciption in params
-        if not self.params.has_key(namespace):
-            self.params[namespace]={}
-        self.params[namespace][name]=[value,type];"""
+        if not self.params.has_key(category):
+            self.params[category]={}
+        self.params[category][name]=[value,type];"""
 
 class Memory:
     """This class manage all persistent informations"""
@@ -224,6 +216,9 @@
     def getParams(self):
         return self.params.getParams() 
     
+    def getParamsForCategory(self, category):
+        return self.params.getParamsForCategory(category) 
+    
     def getParamsCategories(self):
         return self.params.getParamsCategories()