summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2005-10-28 23:55:20 +0000
committerelie <elie>2005-10-28 23:55:20 +0000
commit587575e140f28ff7cb5fa65a45625cbe25e05103 (patch)
tree5258b2b18c48718f1743c8d9c7eb12ba04766cec
parent7f364dda6b861d1afaedf7ec0490357029d5c018 (diff)
downloadpysnmp-587575e140f28ff7cb5fa65a45625cbe25e05103.tar.gz
use most current specs when indexing by OID
-rw-r--r--pysnmp/smi/view.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pysnmp/smi/view.py b/pysnmp/smi/view.py
index 294bc23..fa65a42 100644
--- a/pysnmp/smi/view.py
+++ b/pysnmp/smi/view.py
@@ -43,6 +43,8 @@ class MibViewController:
globMibMod = mibMod
continue
+ __status = {}
+
# Types & MIB vars indices
for n, v in self.mibBuilder.mibSymbols[modName].items():
if type(v) == ClassType:
@@ -65,6 +67,13 @@ class MibViewController:
if not globMibMod['varToNameIdx'].has_key(n):
globMibMod['varToNameIdx'][n] = v.name
mibMod['varToNameIdx'][n] = v.name
+ # Build OID->everything index using most up-to-date spec
+ if __status.has_key(v.name):
+ if __status[v.name] == 'current' or \
+ __status[v.name] == 'mandatory':
+ continue
+ if hasattr(v, 'getStatus'):
+ __status[v.name] = v.getStatus()
if not globMibMod['oidToModIdx'].has_key(v.name):
globMibMod['oidToModIdx'][v.name] = modName
mibMod['oidToModIdx'][v.name] = modName