Example #1
0
 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)
Example #3
0
    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())