From 97ad72efc27f8bdc9f63aa2dc074a9de9f4122a6 Mon Sep 17 00:00:00 2001 From: elie Date: Sun, 31 May 2015 21:39:01 +0000 Subject: catch and report possible MIB compilation errors --- pysnmp/smi/builder.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index a019d03..4c0ce9c 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 -- cgit v1.2.1