class mqChannel(CommandParser):
    ''''''
    def insertValue(self,key,value):
        ''''''
        try: self.data[key] = self.parser.info[value]
        except: self.data[key] = None
    
    def processResults(self, cmd, result):
        ''''''
        datapointMap = dict([(dp.id, dp) for dp in cmd.points])
        self.parser = MQHandler(cmd.result.output.splitlines())
        self.parser.dataMap()
        #log.debug("parser dict:%s" % self.parser.info)
        self.data = {
                     'messages': None,
                     'bytesRcvd': None,
                     'bytesSent': None,
                     'buffersRcvd': None,
                     'buffersSent': None,
                     }
        self.insertValue('messages','MSGS')
        self.insertValue('bytesRcvd','BYTSRCVD')
        self.insertValue('bytesSent','BYTSSENT')
        self.insertValue('buffersRcvd','BUFSRCVD')
        self.insertValue('buffersSent','BUFSSENT')
        
        for d in self.data.items():
            try: result.values.append( (datapointMap[d[0]], long(d[1])) )
            except: pass
        #log.debug("result: %s" % result)
        return result
class mqQueue(CommandParser):
    ''''''
    def insertValue(self,key,value):
        ''''''
        try: self.data[key] = self.parser.info[value]
        except: self.data[key] = None
    
    def processResults(self, cmd, result):
        #log.info("processing cmd:%s result: %s" % (cmd,result))
        datapointMap = dict([(dp.id, dp) for dp in cmd.points])
        self.parser = MQHandler(cmd.result.output.splitlines())
        self.parser.dataMap()
        #log.debug("parser dict:%s" % self.parser.info)
        self.data = {}
        self.data['currDepth'] = 0
        self.data['trigDepth'] = 0
        self.data['ipProcs'] = 0
        self.data['opProcs'] = 0
        self.insertValue('currDepth','CURDEPTH')
        self.insertValue('trigDepth','TRIGDPTH')
        self.insertValue('ipProcs','IPPROCS')
        self.insertValue('opProcs','OPPROCS')
        for d in self.data.items():
            try: result.values.append( (datapointMap[d[0]], long(d[1])) )
            except: pass
        #log.debug("result: %s" % result)
        return result
 def collect(self, query, manager=None):
     command = self.commands[query][self.remote]
     if manager:  command = command % manager
     command = command.replace('%%','%')
     output = Popen([command],stdout=PIPE,shell=True)
     result = output.stdout.read()
     handler = MQHandler(result.splitlines())
     return handler.parseData(self.commands[query]['key'])
 def processResults(self, cmd, result):
     #log.debug("processing cmd:%s result: %s" % (cmd,result))
     datapointMap = dict([(dp.id, dp) for dp in cmd.points])
     parser = MQHandler(cmd.result.output.splitlines())
     parser.dataMap()
     #log.debug("parser dict:%s" % parser.info)
     self.data = {}
     value = 0
     try: value = self.getStatus(parser.info['STATUS'])
     except: pass
     self.data['status'] = value
     for d in self.data.items():
         try: result.values.append( (datapointMap[d[0]], long(d[1])) )
         except: pass
     #log.debug("result: %s" % result)
     return result