summaryrefslogtreecommitdiff
path: root/pysnmp/hlapi/asyncore/sync/compat/ntforg.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/hlapi/asyncore/sync/compat/ntforg.py')
-rw-r--r--pysnmp/hlapi/asyncore/sync/compat/ntforg.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/pysnmp/hlapi/asyncore/sync/compat/ntforg.py b/pysnmp/hlapi/asyncore/sync/compat/ntforg.py
new file mode 100644
index 0000000..92b32b3
--- /dev/null
+++ b/pysnmp/hlapi/asyncore/sync/compat/ntforg.py
@@ -0,0 +1,50 @@
+#
+# This is a Python 2.6- version of the same file at level up
+#
+from pysnmp.hlapi.asyncore import ntforg
+
+__all__ = ['sendNotification', 'next']
+
+def next(iter):
+ return iter.next()
+
+#
+# Synchronous one-liner SNMP Notification Originator application
+#
+
+def sendNotification(snmpEngine, authData, transportTarget, contextData,
+ notifyType, varBinds, **options):
+
+ def cbFun(snmpEngine, sendRequestHandle,
+ errorIndication, errorStatus, errorIndex,
+ varBinds, cbCtx):
+ cbCtx['errorIndication'] = errorIndication
+ cbCtx['errorStatus'] = errorStatus
+ cbCtx['errorIndex'] = errorIndex
+ cbCtx['varBinds'] = varBinds
+
+ cbCtx = {}
+
+ if varBinds:
+ ntforg.sendNotification(
+ snmpEngine,
+ authData,
+ transportTarget,
+ contextData,
+ notifyType,
+ varBinds,
+ cbFun, cbCtx,
+ options.get('lookupMib', True)
+ )
+
+ snmpEngine.transportDispatcher.runDispatcher()
+
+ errorIndication = cbCtx.get('errorIndication')
+ errorStatus = cbCtx.get('errorStatus')
+ errorIndex = cbCtx.get('errorIndex')
+ varBinds = cbCtx.get('varBinds', [])
+ else:
+ errorIndication = errorStatus = errorIndex = None
+ varBinds = []
+
+ yield errorIndication, errorStatus, errorIndex, varBinds