def parseOutput(self, output): # # format gid,dn,name,ver,operational_state,admini_state,conn_state,alarm_count_critial,alarm_count_maijor,ip_addr lines = output.split("\n") # print lines data = LTEStatusData() for one_line in lines: items = one_line.split(",") # print items if 15 == len(items): # the last element is empty node = data.createNode(items[0]) node.set_property("OCID", items[12]) # this must set BEFORE setDN, so that we can use optimized setDN # (in LTEStatusData.py) node.setDN(items[1]) node.setName(items[2]) node.setVersion(items[3]) node.setOperational(items[4]) node.setAdministrative(items[5]) node.setConnection(items[6]) if (len(items[7]) > 0) and (int(items[7]) > 0): node.appendAlarm(1, items[7]) if (len(items[8]) > 0) and (int(items[8]) > 0): node.appendAlarm(2, items[8]) if (len(items[9]) > 0) and (int(items[9]) > 0): node.appendAlarm(3, items[9]) node.setIP(items[10]) node.set_property("COSTATE", items[11]) node.set_property("SYSTEM_ID", items[13]) # print "DEBUG:"+node.get_property("SYSTEM_ID") data.addNode(node) return data
def sortAndBuildDataNodes(self, data): sortColumnIndex = self._gui.sortColumnIndex dnColumnIndex = DataControl.getInstance().getDataColumnDef().colIndexMap('DN') treeViewTypes = [self.viewType_DN, self.viewType_MRSITE, self.viewType_OMS] dnNodes = self.getFilteredDnNodesByDN(data.getRawData()) sortedRawData = [] # print "sort column index = ",sortColumnIndex if sortColumnIndex == dnColumnIndex: # print "-- sort dn begin = ", time.time() for dn in sorted(dnNodes.keys(), cmp= lambda x,y:self.sortDNColumn(x, y, dnNodes)): # print "append1 -------", dn sortedRawData.append(dnNodes[dn].getRawData()) rawData = self.getFilteredRawDataByCommonState(sortedRawData) # for i in rawData: # print "state = ",i[-7]," ",i[-1]," MRSITE-",i[0]," ",i[2] data.setSortedRawData(rawData) self.buildDataNodes(data) # print "-- sort dn end = ",time.time() elif self.viewType in treeViewTypes and sortColumnIndex != dnColumnIndex: # print "-- sort non dn begin = ", time.time() for dn in sorted(dnNodes.keys(), cmp= lambda x,y:self.sortDNColumn(x, y, dnNodes)): # print "----------------- append dn = ",dn sortedRawData.append(dnNodes[dn].getRawData()) tmpData = LTEStatusData() tmpData.setSortedRawData(self.getFilteredRawDataByCommonState(sortedRawData)) self.buildDataNodes(tmpData) newTopNodes = [] for topNode in sorted(tmpData.getTopNodes(), cmp= lambda x,y:self.sortNonDNColumn(x, y, sortColumnIndex)): topNode.setIndex(len(newTopNodes)) newTopNodes.append(topNode) if topNode.getChildren(): self.sortChildren(topNode, sortColumnIndex) data.setTopNodes(newTopNodes) # print "-- sort non dn begin = ", time.time() else: # print "-- sort non dn begin = ", time.time() for node in sorted(dnNodes.values(), cmp= lambda x,y:self.sortNonDNColumn(x, y, sortColumnIndex)): sortedRawData.append(node.getRawData()) data.setSortedRawData(self.getFilteredRawDataByCommonState(sortedRawData)) self.buildDataNodes(data) # print "-- sort non dn end = ",time.time() #For Status Report, Lock/unlock operation if self.viewType == self.viewType_List: self.storeLNBTSChildren(dnNodes)
def parseOutput(self, output): data = LTEStatusData() rows = output.split('\n') rawData = [] rows.pop() for row in rows: row = ',' + row #Add for the checkbox value rawData.append(row.split(',')) data.setRawData(rawData) return data
def updatePaths(self, gui): model = gui.liststore if self.oldDnNodes: oldData = LTEStatusData() oldData.setTopNodes(self.oldTopNodes) gui.getModel().setData(oldData) self.orderedOldDNs.reverse() for oldDN in self.orderedOldDNs: if not self.newDnNodes.get(oldDN): model.row_deleted(self.getPathByNode(self.oldDnNodes.get(oldDN))) model.setData(gui.getData()) for newDN in self.orderedNewDNs: if not self.oldDnNodes.get(newDN): path = self.getPathByNode(self.newDnNodes[newDN]) model.row_inserted(path, model.get_iter(path)) else: self.newDnNodes.get(newDN).setCheckboxValue(self.oldDnNodes.get(newDN).getCheckboxValue())
def updatePaths(self, gui): model = gui.getModel() if self.oldDnNodes: oldData = LTEStatusData() oldData.setTopNodes(self.oldTopNodes) gui.getModel().setData(oldData) #Updates the deleted paths self.orderedOldDNs.reverse() for oldDN in self.orderedOldDNs: if not self.newDnNodes.get(oldDN): node = self.oldDnNodes[oldDN] model.row_deleted(self.getPathByNode(node)) # print "------ delete path = ",self.getPathByNode(self.oldDnNodes[oldDN])," dn = ",oldDN oldParent = node.getParent() if oldParent: oldParent.getChildren().remove(node) oldNodeParentPath = self.getPathByNode(self.oldDnNodes.get(oldParent.getDN())) model.row_has_child_toggled(oldNodeParentPath ,model.get_iter(oldNodeParentPath)) else: self.oldTopNodes.remove(node) self.updateIndexForTopNodes() self.reorderRowsForOldModel() #Update the insert paths model.setData(gui.getData()) for newDN in self.orderedNewDNs: if not self.oldDnNodes.get(newDN): # self.updateInsertPaths(self.newDnNodes[newDN], model) newNode = self.newDnNodes[newDN] path = self.getPathByNode(newNode) model.row_inserted(path, model.get_iter(path)) # print"+++++++++ insert path = ",path," dn = ",newDN else: self.newDnNodes[newDN].setCheckboxValue(self.oldDnNodes[newDN].getCheckboxValue())