diff options
author | elie <elie> | 2006-05-25 14:43:00 +0000 |
---|---|---|
committer | elie <elie> | 2006-05-25 14:43:00 +0000 |
commit | e3d92e927ad02aa6da1ec2243d7ec9b921887325 (patch) | |
tree | d51a80bd670babb2294210a0efc43252467da21c /pysnmp/hlapi | |
parent | d69b713de52c4f9fd510dfe8cd992502fa46947c (diff) | |
download | pysnmp-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.py | 14 |
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() |