summaryrefslogtreecommitdiff
path: root/pysnmp/hlapi
diff options
context:
space:
mode:
authorelie <elie>2006-05-25 14:43:00 +0000
committerelie <elie>2006-05-25 14:43:00 +0000
commite3d92e927ad02aa6da1ec2243d7ec9b921887325 (patch)
treed51a80bd670babb2294210a0efc43252467da21c /pysnmp/hlapi
parentd69b713de52c4f9fd510dfe8cd992502fa46947c (diff)
downloadpysnmp-git-e3d92e927ad02aa6da1ec2243d7ec9b921887325.tar.gz
* python1.5 compatibity fix related to names scoping
* check if value == None in varBinds what indicates EOM
Diffstat (limited to 'pysnmp/hlapi')
-rw-r--r--pysnmp/hlapi/asyncore/cmdgen.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pysnmp/hlapi/asyncore/cmdgen.py b/pysnmp/hlapi/asyncore/cmdgen.py
index 94c14fc9..cfbec51a 100644
--- a/pysnmp/hlapi/asyncore/cmdgen.py
+++ b/pysnmp/hlapi/asyncore/cmdgen.py
@@ -260,7 +260,8 @@ class CommandGenerator(AsynCommandGenerator):
varBindTableRow = varBindTable[-1]
for idx in range(len(varBindTableRow)):
name, val = varBindTableRow[idx]
- if head[idx].isPrefixOf(name): # XXX causes extra rows
+ # XXX extra rows
+ if val is not None and varBindHead[idx].isPrefixOf(name):
break
else:
appReturn['errorIndication'] = errorIndication
@@ -272,11 +273,12 @@ class CommandGenerator(AsynCommandGenerator):
return 1 # continue table retrieval
- head = map(lambda (x,y): univ.ObjectIdentifier(x+y), map(lambda x,self=self: mibvar.mibNameToOid(self.mibViewController, x), varNames))
+ varBindHead = map(lambda (x,y): univ.ObjectIdentifier(x+y), map(lambda x,self=self: mibvar.mibNameToOid(self.mibViewController, x), varNames))
appReturn = {}
self.asyncNextCmd(
- authData, transportTarget, varNames, (__cbFun, (head,[],appReturn))
+ authData, transportTarget, varNames,
+ (__cbFun, (varBindHead,[],appReturn))
)
self.snmpEngine.transportDispatcher.runDispatcher()
@@ -306,7 +308,7 @@ class CommandGenerator(AsynCommandGenerator):
varBindTableRow = varBindTable[-1]
for idx in range(len(varBindTableRow)):
name, val = varBindTableRow[idx]
- if head[idx].isPrefixOf(name):
+ if val is not None and varBindHead[idx].isPrefixOf(name):
break
else:
appReturn['errorIndication'] = errorIndication
@@ -317,13 +319,13 @@ class CommandGenerator(AsynCommandGenerator):
return 1 # continue table retrieval
- head = map(lambda (x,y): univ.ObjectIdentifier(x+y), map(lambda x,self=self: mibvar.mibNameToOid(self.mibViewController, x), varNames))
+ varBindHead = map(lambda (x,y): univ.ObjectIdentifier(x+y), map(lambda x,self=self: mibvar.mibNameToOid(self.mibViewController, x), varNames))
appReturn = {}
self.asyncBulkCmd(
authData, transportTarget, nonRepeaters, maxRepetitions,
- varNames, (__cbFun, (head, [], appReturn))
+ varNames, (__cbFun, (varBindHead, [], appReturn))
)
self.snmpEngine.transportDispatcher.runDispatcher()