From a207947c21e6e7f007d4d0a10005fe136c7302d1 Mon Sep 17 00:00:00 2001 From: elie Date: Fri, 14 Oct 2005 16:11:39 +0000 Subject: * handle strange SNMP versions * prettyOut() -> prettyPrint() --- .../ntfrcv/listen-on-ipv4-and-ipv6-interfaces.py | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'examples/v1arch') diff --git a/examples/v1arch/asyncore/manager/ntfrcv/listen-on-ipv4-and-ipv6-interfaces.py b/examples/v1arch/asyncore/manager/ntfrcv/listen-on-ipv4-and-ipv6-interfaces.py index 5a3979f1..a8c4c643 100644 --- a/examples/v1arch/asyncore/manager/ntfrcv/listen-on-ipv4-and-ipv6-interfaces.py +++ b/examples/v1arch/asyncore/manager/ntfrcv/listen-on-ipv4-and-ipv6-interfaces.py @@ -7,7 +7,11 @@ from pysnmp.proto import api def cbFun(transportDispatcher, transportDomain, transportAddress, wholeMsg): while wholeMsg: msgVer = int(api.decodeMessageVersion(wholeMsg)) - pMod = api.protoModules[msgVer] + if api.protoModules.has_key(msgVer): + pMod = api.protoModules[msgVer] + else: + print 'Unsupported SNMP version %s' % msgVer + return reqMsg, wholeMsg = decoder.decode( wholeMsg, asn1Spec=pMod.Message(), ) @@ -18,27 +22,26 @@ def cbFun(transportDispatcher, transportDomain, transportAddress, wholeMsg): if reqPDU.isSameTypeWith(pMod.TrapPDU()): if msgVer == api.protoVersion1: print 'Enterprise: %s' % ( - pMod.apiTrapPDU.getEnterprise(reqPDU) + pMod.apiTrapPDU.getEnterprise(reqPDU).prettyPrint() ) print 'Agent Address: %s' % ( - repr(pMod.apiTrapPDU.getAgentAddr(reqPDU)) + pMod.apiTrapPDU.getAgentAddr(reqPDU).prettyPrint() ) print 'Generic Trap: %s' % ( - pMod.apiTrapPDU.getGenericTrap(reqPDU) + pMod.apiTrapPDU.getGenericTrap(reqPDU).prettyPrint() ) print 'Specific Trap: %s' % ( - pMod.apiTrapPDU.getSpecificTrap(reqPDU) + pMod.apiTrapPDU.getSpecificTrap(reqPDU).prettyPrint() ) print 'Uptime: %s' % ( - pMod.apiTrapPDU.getTimeStamp(reqPDU) + pMod.apiTrapPDU.getTimeStamp(reqPDU).prettyPrint() ) - print 'Var-binds:' - for varBind in pMod.apiTrapPDU.getVarBindList(reqPDU): - print pMod.apiVarBind.getOIDVal(varBind) + varBinds = pMod.apiTrapPDU.getVarBindList(reqPDU) else: - print 'Var-binds:' - for varBind in pMod.apiPDU.getVarBindList(reqPDU): - print pMod.apiVarBind.getOIDVal(varBind) + varBinds = pMod.apiPDU.getVarBindList(reqPDU) + print 'Var-binds:' + for oid, val in varBinds: + print oid.prettyPrint(), val.prettyPrint() return wholeMsg transportDispatcher = AsynsockDispatcher() -- cgit v1.2.1