summaryrefslogtreecommitdiff
path: root/pysnmp/entity/rfc3413/mibvar.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/entity/rfc3413/mibvar.py')
-rw-r--r--pysnmp/entity/rfc3413/mibvar.py33
1 files changed, 19 insertions, 14 deletions
diff --git a/pysnmp/entity/rfc3413/mibvar.py b/pysnmp/entity/rfc3413/mibvar.py
index 7cc46123..fdcef9f5 100644
--- a/pysnmp/entity/rfc3413/mibvar.py
+++ b/pysnmp/entity/rfc3413/mibvar.py
@@ -10,16 +10,17 @@
from pyasn1.type import univ
from pysnmp.smi.error import NoSuchObjectError
+
# Name
def mibNameToOid(mibView, name):
if isinstance(name[0], tuple):
f = lambda x='', y='': (x, y)
modName, symName = f(*name[0])
- if modName: # load module if needed
+ if modName: # load module if needed
mibView.mibBuilder.loadModules(modName)
else:
- mibView.mibBuilder.loadModules() # load all (slow)
+ mibView.mibBuilder.loadModules() # load all (slow)
if symName:
oid, label, suffix = mibView.getNodeNameByDesc(symName, modName)
else:
@@ -28,12 +29,12 @@ def mibNameToOid(mibView, name):
modName, symName, _s = mibView.getNodeLocation(oid)
mibNode, = mibView.mibBuilder.importSymbols(
modName, symName
- )
- if hasattr(mibNode, 'createTest'): # table column XXX
+ )
+ if hasattr(mibNode, 'createTest'): # table column XXX
modName, symName, _s = mibView.getNodeLocation(oid[:-1])
rowNode, = mibView.mibBuilder.importSymbols(modName, symName)
return oid, rowNode.getInstIdFromIndices(*suffix)
- else: # scalar or incomplete spec
+ else: # scalar or incomplete spec
return oid, suffix
elif not isinstance(name, tuple):
name = tuple(univ.ObjectIdentifier(name))
@@ -42,8 +43,10 @@ def mibNameToOid(mibView, name):
return oid, suffix
+
__scalarSuffix = (univ.Integer(0),)
+
def oidToMibName(mibView, oid):
if not isinstance(oid, tuple):
oid = tuple(univ.ObjectIdentifier(oid))
@@ -51,27 +54,29 @@ def oidToMibName(mibView, oid):
modName, symName, __suffix = mibView.getNodeLocation(_oid)
mibNode, = mibView.mibBuilder.importSymbols(
modName, symName
- )
- if hasattr(mibNode, 'createTest'): # table column
+ )
+ if hasattr(mibNode, 'createTest'): # table column
__modName, __symName, __s = mibView.getNodeLocation(_oid[:-1])
rowNode, = mibView.mibBuilder.importSymbols(__modName, __symName)
return (symName, modName), rowNode.getIndicesFromInstId(suffix)
- elif not suffix: # scalar
+ elif not suffix: # scalar
return (symName, modName), suffix
- elif suffix == (0,): # scalar
+ elif suffix == (0,): # scalar
return (symName, modName), __scalarSuffix
else:
raise NoSuchObjectError(
- str='No MIB registered that defines %s object, closest known parent is %s (%s::%s)' % (univ.ObjectIdentifier(oid), univ.ObjectIdentifier(mibNode.name), modName, symName)
- )
+ str='No MIB registered that defines %s object, closest known parent is %s (%s::%s)' % (
+ univ.ObjectIdentifier(oid), univ.ObjectIdentifier(mibNode.name), modName, symName)
+ )
+
# Value
def cloneFromMibValue(mibView, modName, symName, value):
mibNode, = mibView.mibBuilder.importSymbols(
modName, symName
- )
- if hasattr(mibNode, 'syntax'): # scalar
+ )
+ if hasattr(mibNode, 'syntax'): # scalar
return mibNode.syntax.clone(value)
else:
- return # identifier
+ return # identifier