From 8a1d2aa33215905b7dd1c99a33ff31330b957dc4 Mon Sep 17 00:00:00 2001 From: elie Date: Mon, 15 Dec 2014 22:55:59 +0000 Subject: code formatting improved --- .../manager/cmdgen/get-v2c-custom-timeout.py | 198 ++++++++++----------- .../v3arch/asyncio/manager/cmdgen/getbulk-v2c.py | 2 +- .../cmdgen/getnext-v2c-from-specific-address.py | 2 +- 3 files changed, 101 insertions(+), 101 deletions(-) (limited to 'examples') diff --git a/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py b/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py index c0b74b6..3798f2b 100644 --- a/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py +++ b/examples/v3arch/asyncio/manager/cmdgen/get-v2c-custom-timeout.py @@ -1,99 +1,99 @@ -# -# GET Command Generator -# -# Send a SNMP GET request -# with SNMPv2c, community 'public' -# using Asyncio framework for network transport -# over IPv4/UDP -# to an Agent at 195.218.195.228:161 -# wait 3 seconds for response, retry 5 times (plus one initial attempt) -# for an OID in tuple form -# -# This script performs similar to the following Net-SNMP command: -# -# $ snmpget -v2c -c public -ObentU -r 5 -t 1 195.218.195.228 1.3.6.1.2.1.1.1.0 -# -# Requires Python 3.4 and later! -# -from pysnmp.carrier.asyncio.dgram import udp -from pysnmp.entity.rfc3413.asyncio import cmdgen -from pysnmp.entity import engine, config -import asyncio - -# Get the event loop for this thread -loop = asyncio.get_event_loop() - -# Create SNMP engine instance -snmpEngine = engine.SnmpEngine() - -# -# SNMPv2c setup -# - -# SecurityName <-> CommunityName mapping -config.addV1System(snmpEngine, 'my-area', 'public') - -# Specify security settings per SecurityName (SNMPv1 - 0, SNMPv2c - 1) -config.addTargetParams(snmpEngine, 'my-creds', 'my-area', 'noAuthNoPriv', 1) - -# -# Setup transport endpoint and bind it with security settings yielding -# a target name -# - -# UDP/IPv4 -config.addTransport( - snmpEngine, - udp.domainName, - udp.UdpTransport().openClientMode() -) -config.addTargetAddr( - snmpEngine, 'my-router', - udp.domainName, ('195.218.195.228', 161), - 'my-creds', - timeout=300, # in 1/100 sec - retryCount=5 -) - -@asyncio.coroutine -def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds): - ( snmpEngine, - errorIndication, - errorStatus, - errorIndex, - varBinds ) = yield from cmdgen.GetCommandGenerator().sendVarBinds( - snmpEngine, - target, - contextEngineId, - contextName, - varBinds - ) - - if errorIndication: - print(errorIndication) - elif errorStatus: - print('%s at %s' % ( - errorStatus.prettyPrint(), - errorIndex and varBinds[int(errorIndex)-1][0] or '?' - ) - ) - else: - for oid, val in varBinds: - print('%s = %s' % (oid.prettyPrint(), val.prettyPrint())) - - # This also terminates internal timer - config.delTransport( - snmpEngine, - udp.domainName - ) - -loop.run_until_complete( - snmpOperation( - snmpEngine, - 'my-router', - None, '', # contextEngineId, contextName - ( ('1.3.6.1.2.1.1.1.0', None), ) - ) -) - -loop.close() +# +# GET Command Generator +# +# Send a SNMP GET request +# with SNMPv2c, community 'public' +# using Asyncio framework for network transport +# over IPv4/UDP +# to an Agent at 195.218.195.228:161 +# wait 3 seconds for response, retry 5 times (plus one initial attempt) +# for an OID in string form +# +# This script performs similar to the following Net-SNMP command: +# +# $ snmpget -v2c -c public -ObentU -r 5 -t 1 195.218.195.228 1.3.6.1.2.1.1.1.0 +# +# Requires Python 3.4 and later! +# +from pysnmp.carrier.asyncio.dgram import udp +from pysnmp.entity.rfc3413.asyncio import cmdgen +from pysnmp.entity import engine, config +import asyncio + +# Get the event loop for this thread +loop = asyncio.get_event_loop() + +# Create SNMP engine instance +snmpEngine = engine.SnmpEngine() + +# +# SNMPv2c setup +# + +# SecurityName <-> CommunityName mapping +config.addV1System(snmpEngine, 'my-area', 'public') + +# Specify security settings per SecurityName (SNMPv1 - 0, SNMPv2c - 1) +config.addTargetParams(snmpEngine, 'my-creds', 'my-area', 'noAuthNoPriv', 1) + +# +# Setup transport endpoint and bind it with security settings yielding +# a target name +# + +# UDP/IPv4 +config.addTransport( + snmpEngine, + udp.domainName, + udp.UdpTransport().openClientMode() +) +config.addTargetAddr( + snmpEngine, 'my-router', + udp.domainName, ('195.218.195.228', 161), + 'my-creds', + timeout=300, # in 1/100 sec + retryCount=5 +) + +@asyncio.coroutine +def snmpOperation(snmpEngine, target, contextEngineId, contextName, varBinds): + ( snmpEngine, + errorIndication, + errorStatus, + errorIndex, + varBinds ) = yield from cmdgen.GetCommandGenerator().sendVarBinds( + snmpEngine, + target, + contextEngineId, + contextName, + varBinds + ) + + if errorIndication: + print(errorIndication) + elif errorStatus: + print('%s at %s' % ( + errorStatus.prettyPrint(), + errorIndex and varBinds[int(errorIndex)-1][0] or '?' + ) + ) + else: + for oid, val in varBinds: + print('%s = %s' % (oid.prettyPrint(), val.prettyPrint())) + + # This also terminates internal timer + config.delTransport( + snmpEngine, + udp.domainName + ) + +loop.run_until_complete( + snmpOperation( + snmpEngine, + 'my-router', + None, '', # contextEngineId, contextName + ( ('1.3.6.1.2.1.1.1.0', None), ) + ) +) + +loop.close() diff --git a/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py b/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py index 83eb91d..df19279 100644 --- a/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py +++ b/examples/v3arch/asyncio/manager/cmdgen/getbulk-v2c.py @@ -7,7 +7,7 @@ # over IPv4/UDP # to an Agent at 195.218.195.228:161 # with values non-repeaters = 0, max-repetitions = 25 -# for two OIDs in tuple form +# for two OIDs in string form # stop on end-of-mib condition for both OIDs # # This script performs similar to the following Net-SNMP command: diff --git a/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py b/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py index 0d041f9..b09ccb7 100644 --- a/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py +++ b/examples/v3arch/asyncio/manager/cmdgen/getnext-v2c-from-specific-address.py @@ -7,7 +7,7 @@ # over IPv4/UDP # to an Agent at 195.218.195.228:161 # sending packets from any local interface (0.0.0.0), local port 61024 -# for two OIDs in tuple form +# for two OIDs in string form # stop on end-of-mib condition for both OIDs # # This script performs similar to the following Net-SNMP command: -- cgit v1.2.1