summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2005-06-28 05:46:29 +0000
committerelie <elie>2005-06-28 05:46:29 +0000
commita74bdb559a376fec36abca1693f8ba1a4a8a1366 (patch)
treef7d7d872c498e77687670067349e08959acda67a
parent9b64aa046edfd62f670a3953acf484db3f09badc (diff)
downloadpysnmp-a74bdb559a376fec36abca1693f8ba1a4a8a1366.tar.gz
support for MibIdentifier instances added
-rw-r--r--pysnmp/entity/rfc3413/mibvar.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/pysnmp/entity/rfc3413/mibvar.py b/pysnmp/entity/rfc3413/mibvar.py
index 8e02b2a..7a7549d 100644
--- a/pysnmp/entity/rfc3413/mibvar.py
+++ b/pysnmp/entity/rfc3413/mibvar.py
@@ -32,11 +32,11 @@ def oidToInstanceName(mibView, oid):
__modName, __symName, __s = mibView.getNodeLocation(oid[:-1])
rowNode, = mibView.mibBuilder.importSymbols(__modName, __symName)
return (symName, modName), rowNode.getIndicesFromInstId(suffix)
- elif suffix == (0,): # scalar
+ elif not suffix or suffix == (0,): # scalar/identifier
return (symName, modName), suffix
else:
raise NoSuchInstanceError(
- str='No MIB info for %s' % (oid, )
+ str='No MIB info for %s (distant parent %s)' % (oid, mibNode)
)
# Value
@@ -47,5 +47,10 @@ def cloneFromMibValue(mibView, modName, symName, value):
)
if hasattr(mibNode, 'getColumnInitializer'): # table column
return mibNode.getColumnInitializer().syntax.clone(value)
- else:
+ elif hasattr(mibNode, 'syntax'): # scalar
return mibNode.syntax.clone(value)
+ else:
+ return # identifier
+
+# XXX
+# how comes zero suffix comes from MIB resolver?