diff options
author | elie <elie> | 2006-04-05 08:29:58 +0000 |
---|---|---|
committer | elie <elie> | 2006-04-05 08:29:58 +0000 |
commit | a3aec42f182340a2d336cadaaa6ee47b14288cc8 (patch) | |
tree | 1108efe80220050f96ae1e69d3d3cb69106aae03 | |
parent | 730d865b42e48556920e30419f19ae2bfad8112c (diff) | |
download | pysnmp-git-a3aec42f182340a2d336cadaaa6ee47b14288cc8.tar.gz |
MibBuilder.exportSymbols() now accepts unnamed objects (likely Managed
Objects Instances)
-rw-r--r-- | pysnmp/smi/builder.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index a67e61b0..ca94d35f 100644 --- a/pysnmp/smi/builder.py +++ b/pysnmp/smi/builder.py @@ -8,7 +8,7 @@ except ImportError: class MibBuilder: def __init__(self): - self.lastBuildId = 0L + self.lastBuildId = self._autoName = 0L paths = ( os.path.join(os.path.split(error.__file__)[0], 'mibs','instances'), os.path.join(os.path.split(error.__file__)[0], 'mibs') @@ -105,16 +105,22 @@ class MibBuilder: r = r + (self.mibSymbols[modName][symName],) return r - def exportSymbols(self, modName, **kwargs): - for symName, symObj in kwargs.items(): - if not self.mibSymbols.has_key(modName): - self.mibSymbols[modName] = {} - if self.mibSymbols[modName].has_key(symName): + def exportSymbols(self, modName, *anonymousSyms, **namedSyms): + if not self.mibSymbols.has_key(modName): + self.mibSymbols[modName] = {} + mibSymbols = self.mibSymbols[modName] + + for symObj in anonymousSyms: + mibSymbols['__pysnmp_%ld' % self._autoName] = symObj + self._autoName = self._autoName + 1 + + for symName, symObj in namedSyms.items(): + if mibSymbols.has_key(symName): raise error.SmiError( 'Symbol %s already exported at %s' % (symName, modName) ) if hasattr(symObj, 'label') and symObj.label: symName = symObj.label - self.mibSymbols[modName][symName] = symObj - + mibSymbols[symName] = symObj + self.lastBuildId = self.lastBuildId + 1 |