94 self.SlaveNodes = {} |
94 self.SlaveNodes = {} |
95 self.EDSNodes = {} |
95 self.EDSNodes = {} |
96 |
96 |
97 self.Root = root |
97 self.Root = root |
98 if not os.path.exists(self.Root): |
98 if not os.path.exists(self.Root): |
99 return "\"%s\" folder doesn't exist"%self.Root |
99 return _("\"%s\" folder doesn't exist")%self.Root |
100 |
100 |
101 self.EDSFolder = os.path.join(self.Root, "eds") |
101 self.EDSFolder = os.path.join(self.Root, "eds") |
102 if not os.path.exists(self.EDSFolder): |
102 if not os.path.exists(self.EDSFolder): |
103 os.mkdir(self.EDSFolder) |
103 os.mkdir(self.EDSFolder) |
104 #return "\"%s\" folder doesn't contain a \"eds\" folder"%self.Root |
104 #return "\"%s\" folder doesn't contain a \"eds\" folder"%self.Root |
132 |
132 |
133 def ImportEDSFile(self, edspath, force = False): |
133 def ImportEDSFile(self, edspath, force = False): |
134 dir, file = os.path.split(edspath) |
134 dir, file = os.path.split(edspath) |
135 eds = os.path.join(self.EDSFolder, file) |
135 eds = os.path.join(self.EDSFolder, file) |
136 if not force and os.path.isfile(eds): |
136 if not force and os.path.isfile(eds): |
137 return "EDS file already imported" |
137 return _("EDS file already imported") |
138 else: |
138 else: |
139 shutil.copy(edspath, self.EDSFolder) |
139 shutil.copy(edspath, self.EDSFolder) |
140 return self.LoadEDS(file) |
140 return self.LoadEDS(file) |
141 |
141 |
142 def LoadEDS(self, eds): |
142 def LoadEDS(self, eds): |
153 slave = {"Name" : nodeName, "EDS" : eds, "Node" : self.EDSNodes[eds]} |
153 slave = {"Name" : nodeName, "EDS" : eds, "Node" : self.EDSNodes[eds]} |
154 self.SlaveNodes[nodeID] = slave |
154 self.SlaveNodes[nodeID] = slave |
155 self.Changed = True |
155 self.Changed = True |
156 return None |
156 return None |
157 else: |
157 else: |
158 return "\"%s\" EDS file is not available"%eds |
158 return _("\"%s\" EDS file is not available")%eds |
159 |
159 |
160 def RemoveSlaveNode(self, index): |
160 def RemoveSlaveNode(self, index): |
161 if index in self.SlaveNodes.keys(): |
161 if index in self.SlaveNodes.keys(): |
162 self.SlaveNodes.pop(index) |
162 self.SlaveNodes.pop(index) |
163 return None |
163 return None |
164 else: |
164 else: |
165 return "Node with \"0x%2.2X\" ID doesn't exist" |
165 return _("Node with \"0x%2.2X\" ID doesn't exist") |
166 |
166 |
167 def LoadMasterNode(self, netname = None): |
167 def LoadMasterNode(self, netname = None): |
168 if netname: |
168 if netname: |
169 masterpath = os.path.join(self.Root, "%s_master.od"%netname) |
169 masterpath = os.path.join(self.Root, "%s_master.od"%netname) |
170 else: |
170 else: |
183 else: |
183 else: |
184 masterpath = os.path.join(self.Root, "master.od") |
184 masterpath = os.path.join(self.Root, "master.od") |
185 if self.Manager.SaveCurrentInFile(masterpath): |
185 if self.Manager.SaveCurrentInFile(masterpath): |
186 return None |
186 return None |
187 else: |
187 else: |
188 return "Fail to save Master Node" |
188 return _("Fail to save Master Node") |
189 |
189 |
190 def LoadSlaveNodes(self, netname = None): |
190 def LoadSlaveNodes(self, netname = None): |
191 cpjpath = os.path.join(self.Root, "nodelist.cpj") |
191 cpjpath = os.path.join(self.Root, "nodelist.cpj") |
192 if os.path.isfile(cpjpath): |
192 if os.path.isfile(cpjpath): |
193 try: |
193 try: |
207 result = self.AddSlaveNode(node["Name"], nodeid, node["DCFName"]) |
207 result = self.AddSlaveNode(node["Name"], nodeid, node["DCFName"]) |
208 if result != None: |
208 if result != None: |
209 return result |
209 return result |
210 self.Changed = False |
210 self.Changed = False |
211 except SyntaxError, message: |
211 except SyntaxError, message: |
212 return "Unable to load CPJ file\n%s"%message |
212 return _("Unable to load CPJ file\n%s")%message |
213 return None |
213 return None |
214 |
214 |
215 def SaveNodeList(self, netname = None): |
215 def SaveNodeList(self, netname = None): |
216 try: |
216 try: |
217 cpjpath = os.path.join(self.Root, "nodelist.cpj") |
217 cpjpath = os.path.join(self.Root, "nodelist.cpj") |
223 file.write(content) |
223 file.write(content) |
224 file.close() |
224 file.close() |
225 self.Changed = False |
225 self.Changed = False |
226 return None |
226 return None |
227 except: |
227 except: |
228 return "Fail to save node list" |
228 return _("Fail to save node list") |
229 |
229 |
230 def GetSlaveNodeEntry(self, nodeid, index, subindex = None): |
230 def GetSlaveNodeEntry(self, nodeid, index, subindex = None): |
231 if nodeid in self.SlaveNodes.keys(): |
231 if nodeid in self.SlaveNodes.keys(): |
232 self.SlaveNodes[nodeid]["Node"].SetNodeID(nodeid) |
232 self.SlaveNodes[nodeid]["Node"].SetNodeID(nodeid) |
233 return self.SlaveNodes[nodeid]["Node"].GetEntry(index, subindex) |
233 return self.SlaveNodes[nodeid]["Node"].GetEntry(index, subindex) |
234 else: |
234 else: |
235 return "Node 0x%2.2X doesn't exist"%nodeid |
235 return _("Node 0x%2.2X doesn't exist")%nodeid |
236 |
236 |
237 def GetMasterNodeEntry(self, index, subindex = None): |
237 def GetMasterNodeEntry(self, index, subindex = None): |
238 return self.Manager.GetCurrentEntry(index, subindex) |
238 return self.Manager.GetCurrentEntry(index, subindex) |
239 |
239 |
240 def SetMasterNodeEntry(self, index, subindex = None, value = None): |
240 def SetMasterNodeEntry(self, index, subindex = None, value = None): |
298 for index in node.GetIndexes(): |
298 for index in node.GetIndexes(): |
299 if min <= index <= max: |
299 if min <= index <= max: |
300 validindexes.append((node.GetEntryName(index), index)) |
300 validindexes.append((node.GetEntryName(index), index)) |
301 return validindexes |
301 return validindexes |
302 else: |
302 else: |
303 print "Can't find node" |
303 print _("Can't find node") |
304 return [] |
304 return [] |
305 |
305 |
306 def GetCurrentEntryValues(self, index): |
306 def GetCurrentEntryValues(self, index): |
307 if self.CurrentSelected != None: |
307 if self.CurrentSelected != None: |
308 node = self.SlaveNodes[self.CurrentSelected]["Node"] |
308 node = self.SlaveNodes[self.CurrentSelected]["Node"] |
309 if node: |
309 if node: |
310 node.SetNodeID(self.CurrentSelected) |
310 node.SetNodeID(self.CurrentSelected) |
311 return self.Manager.GetNodeEntryValues(node, index) |
311 return self.Manager.GetNodeEntryValues(node, index) |
312 else: |
312 else: |
313 print "Can't find node" |
313 print _("Can't find node") |
314 return [], [] |
314 return [], [] |
315 |
315 |
316 def AddToMasterDCF(self, node_id, index, subindex, size, value): |
316 def AddToMasterDCF(self, node_id, index, subindex, size, value): |
317 # Adding DCF entry into Master node |
317 # Adding DCF entry into Master node |
318 if not self.Manager.IsCurrentEntry(0x1F22): |
318 if not self.Manager.IsCurrentEntry(0x1F22): |