diff options
author | elie <elie> | 2015-05-31 21:39:01 +0000 |
---|---|---|
committer | elie <elie> | 2015-05-31 21:39:01 +0000 |
commit | 3d7406e02fb67b07930675ac60f7bc2fb8da2eeb (patch) | |
tree | ce34ef8e79e839a3f643627cf3feae1208ed128e /pysnmp/smi/builder.py | |
parent | c5086ca76753e5842de1f934234252b611f40ac1 (diff) | |
download | pysnmp-git-3d7406e02fb67b07930675ac60f7bc2fb8da2eeb.tar.gz |
catch and report possible MIB compilation errors
Diffstat (limited to 'pysnmp/smi/builder.py')
-rw-r--r-- | pysnmp/smi/builder.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index a019d032..4c0ce9c2 100644 --- a/pysnmp/smi/builder.py +++ b/pysnmp/smi/builder.py @@ -320,8 +320,11 @@ class MibBuilder: except error.MibNotFoundError: if self.__mibCompiler: debug.logger & debug.flagBld and debug.logger('loadModules: calling MIB compiler for %s' % modName) - self.__mibCompiler.compile(modName) - # in case this missing MIB becomes available + status = self.__mibCompiler.compile(modName) + errs = '; '.join([str(x.error) for x in status.values() if x in ('failed', 'missing')]) + if errs: + raise error.MibNotFoundError('%s compilation error(s): %s' % (modName, errs)) + # compilation suceeded, MIB might load now self.loadModule(modName, **userCtx) return self |