def setUp(self): ast = parserFactory()().parse(self.__class__.__doc__)[0] mibInfo, symtable = SymtableCodeGen().genCode(ast, {}, genTexts=True) self.mibInfo, pycode = PySnmpCodeGen().genCode(ast, {mibInfo.name: symtable}, genTexts=True) codeobj = compile(pycode, 'test', 'exec') self.ctx = {'mibBuilder': MibBuilder()} exec(codeobj, self.ctx, self.ctx)
def get_mib_symbols(name): mib_parser = InMemoryMibParser() mibCompiler = MibCompiler(SmiV2Parser(), SymtableCodeGen(), mib_parser) # Add Unity-MIB mib file to source dir mib_dir_path = os.path.join(os.path.dirname(__file__), 'mib_files') mibCompiler.addSources(FileReader(mib_dir_path)) mibCompiler.addSearchers(StubSearcher(*baseMibs)) mibCompiler.compile(name) return mib_parser.getOids(name)
def __init__(self, parser, codegen, writer): """Creates an instance of *MibCompiler* class. Args: parser: ASN.1 MIB parser object codegen: MIB transformation object writer: transformed MIB storing object """ self._parser = parser self._codegen = codegen self._symbolgen = SymtableCodeGen() self._writer = writer self._sources = [] self._searchers = [] self._borrowers = []