diff options
Diffstat (limited to 'pysnmp/entity/rfc3413/mibvar.py')
-rw-r--r-- | pysnmp/entity/rfc3413/mibvar.py | 33 |
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 |