Exemple #1
0
 def __parseTrapMsg(self, varBinds):
     """
     ' 解析trap信息
     ' params:
     '     varBinds: 当前trap的绑定值
     """
     if varBinds:
         for oid, val in varBinds:
             matcher = re.search(EsdkKeyDefines.OID_VALUE_FORMAT, val.prettyPrint().strip())
             if matcher:
                 valSecStr = matcher.group(0)
                 resList = re.split("=", valSecStr.replace("\n", " ").strip(), 1)
                 resType = resList[0]
                 resValue = resList[1]
                 #                    #修复建议
                 #                    if EsdkKeyDefines.HWISMREPORTINGALARMRESTOREADVICEOID==oid.prettyPrint():
                 #                        if EsdkKeyDefines.STRING_TYPE==resType:
                 #                            if resValue.startswith('0x'):
                 #                                self.__alarmRestoreAdvice=EsdkUtils.hex2char(resValue[2:])
                 #                    #故障告警标题
                 #                    elif EsdkKeyDefines.HWISMREPORTINGALARMFAULTTITLEOID==oid.prettyPrint():
                 #                        if EsdkKeyDefines.STRING_TYPE==resType:
                 #                            self.__alarmFaultTitle=resValue
                 # 告警级别
                 if EsdkKeyDefines.HWISMREPORTINGALARMFAULTLEVELOID == oid.prettyPrint():
                     if EsdkKeyDefines.INTEGER_TYPE == resType:
                         self.__alarmFaultLevel = resValue
                 # 告警ID
                 elif EsdkKeyDefines.HWISMREPORTINGALARMLOCATIONALARMID == oid.prettyPrint():
                     if EsdkKeyDefines.BIG_COUNTER_TYPE == resType:
                         self.__alarmID = "0x" + EsdkUtils.dec2hex(resValue)
                 # 获取告警时间,以服务端接收到的告警时间为准
                 elif EsdkKeyDefines.HWISMREPORTINGALARMFAULTTIMEOID == oid.prettyPrint():
                     # 获取当前系统的时间
                     self.__alarmFaultTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
                 # 详细信息
                 elif EsdkKeyDefines.HWISMREPORTINGALARMADDITIONINFOOID == oid.prettyPrint():
                     if EsdkKeyDefines.STRING_TYPE == resType:
                         self.__alarmAdditionInfo = resValue
                 # 告警类型
                 elif EsdkKeyDefines.HWISMREPORTINGALARMFAULTCATEGORYOID == oid.prettyPrint():
                     if EsdkKeyDefines.INTEGER_TYPE == resType:
                         self.__alarmFaultCategory = resValue