Mercurial > libervia-backend
comparison 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 |
comparison
equal
deleted
inserted
replaced
17:74a39f40eb6d | 18:6928e3cb73a8 |
---|---|
36 | 36 |
37 #TODO: mettre Watched dans un plugin | 37 #TODO: mettre Watched dans un plugin |
38 default_xml = """ | 38 default_xml = """ |
39 <params> | 39 <params> |
40 <category name="Connection"> | 40 <category name="Connection"> |
41 <param name="JabberID" value="goffi@jabber.goffi.int/TestScript" type="string" /> | 41 <param name="JabberID" value="goffi@necton2.int/TestScript" type="string" /> |
42 <param name="Password" value="toto" type="password" /> | 42 <param name="Password" value="toto" type="password" /> |
43 <param name="Server" value="jabber.goffi.int" type="string" /> | 43 <param name="Server" value="necton2.int" type="string" /> |
44 </category> | 44 </category> |
45 <category name="File Transfert"> | 45 <category name="File Transfert"> |
46 <param name="IP" value="192.168.0.10" type="string" /> | 46 <param name="IP" value="192.168.0.10" type="string" /> |
47 <param name="Port" value="28915" type="string" /> | 47 <param name="Port" value="28915" type="string" /> |
48 </category> | 48 </category> |
68 error("Requested param [%s] in category [%s] doesn't exist !" , name, category) | 68 error("Requested param [%s] in category [%s] doesn't exist !" , name, category) |
69 return none | 69 return none |
70 return node.getAttribute("value") | 70 return node.getAttribute("value") |
71 | 71 |
72 def getParams(self): | 72 def getParams(self): |
73 """Return the wold params XML""" | 73 """Return the whole params XML""" |
74 return self.dom.toxml() | 74 return self.dom.toxml() |
75 | 75 |
76 | 76 def getParamsForCategory(self, category): |
77 """def getParam(self, name, category): | 77 """Return node's xml for selected category""" |
78 if self.params.has_key(namespace) and self.params[namespace].has_key(name): | 78 for node in self.dom.documentElement.childNodes: |
79 return self.params[namespace][name] | 79 if node.nodeName == "category" and node.getAttribute("name") == category: |
80 return ["",""]""" | 80 return node.toxml() |
81 return "<category />" | |
81 | 82 |
82 def __getParamNode(self, name, category): | 83 def __getParamNode(self, name, category): |
83 for node in self.dom.documentElement.childNodes: | 84 for node in self.dom.documentElement.childNodes: |
84 if node.nodeName == "category" and node.getAttribute("name") == category: | 85 if node.nodeName == "category" and node.getAttribute("name") == category: |
85 params = node.getElementsByTagName("param") | 86 params = node.getElementsByTagName("param") |
86 for param in params: | 87 for param in params: |
87 if param.getAttribute("name") == name: | 88 if param.getAttribute("name") == name: |
88 return param | 89 return param |
89 return None | 90 return None |
90 | 91 |
91 | |
92 """def getParams(self, namespace): | |
93 if self.params.has_key(namespace): | |
94 ret=[] | |
95 for name in self.params[namespace]: | |
96 ret.append([name] + self.params[namespace][name]) | |
97 return ret | |
98 return [[]]""" | |
99 | |
100 def getParamsCategories(self): | 92 def getParamsCategories(self): |
101 """return the categories availables""" | 93 """return the categories availables""" |
102 categories=[] | 94 categories=[] |
103 for cat in self.dom.getElementsByTagName("category"): | 95 for cat in self.dom.getElementsByTagName("category"): |
104 categories.append(cat.getAttribute("name")) | 96 categories.append(cat.getAttribute("name")) |
106 | 98 |
107 def setParam(self, name, value, category): | 99 def setParam(self, name, value, category): |
108 node = self.__getParamNode(name, category) | 100 node = self.__getParamNode(name, category) |
109 if not node: | 101 if not node: |
110 return #TODO: throw an error | 102 return #TODO: throw an error |
111 node.setAttribute(name, value) | 103 node.setAttribute("value", value) |
112 | 104 |
113 """def createParam (self, name, value, type, namespace): | 105 """def createParam (self, name, value, type, category): |
114 ### TODO: add desciption in params | 106 ### TODO: add desciption in params |
115 if not self.params.has_key(namespace): | 107 if not self.params.has_key(category): |
116 self.params[namespace]={} | 108 self.params[category]={} |
117 self.params[namespace][name]=[value,type];""" | 109 self.params[category][name]=[value,type];""" |
118 | 110 |
119 class Memory: | 111 class Memory: |
120 """This class manage all persistent informations""" | 112 """This class manage all persistent informations""" |
121 | 113 |
122 def __init__(self): | 114 def __init__(self): |
222 return self.params.getParamV(name, category) | 214 return self.params.getParamV(name, category) |
223 | 215 |
224 def getParams(self): | 216 def getParams(self): |
225 return self.params.getParams() | 217 return self.params.getParams() |
226 | 218 |
219 def getParamsForCategory(self, category): | |
220 return self.params.getParamsForCategory(category) | |
221 | |
227 def getParamsCategories(self): | 222 def getParamsCategories(self): |
228 return self.params.getParamsCategories() | 223 return self.params.getParamsCategories() |
229 | 224 |
230 def setParam(self, name, value, category): | 225 def setParam(self, name, value, category): |
231 return self.params.setParam(name, value, category) | 226 return self.params.setParam(name, value, category) |