使用 JSON 从 PySMI 脚本构建 OID->MIB 索引?

Building an OID->MIB index from a PySMI script using JSON?

我使用 PySMI 与 JsonCodeGen 和 CallbackWriter(将解析的 JSON 上传到云存储)成功地将几个 MIB 编译成 JSON。现在我正在尝试使用新编译的 JSON MIB 结合已经编译的 JSON 文件来构建索引。

从文档来看,我似乎需要将所有这些文件传递给 mibCompiler.compile() 函数,即使它们中的大部分已经编译过,这样我就可以 运行 mibCompiler.buildIndex() 编译后.

据我了解,我需要一个搜索器来排除已经编译的 JSON MIB...是这样吗?我在当前代码中看到的只有 PyFileSearcher、StubSearcher 和 AnyFileSearcher。我不确定从这里要做什么才能忽略我的 JSON 文件。

我也不确定 buildIndex() 是否会接受 JSON 文件作为输入,所以我希望这是正确的方法。

提前致谢!

I'm also not sure buildIndex() will even accept JSON files as input, so I'm hoping this is the right approach.

实际上,不!现在的 PySMI 编译器只能解析 ASN.1 MIB,它将在 JSON 输入时失败。

可能最简单的解决方案是将 JSON MIB 现有 JSON 索引作为字典加载到 Python 中,遍历字典互相更新。这是 the code 从一些内部对象(携带 MIB 数据片段)构建 JSON 索引字典。

从 PySMI 的角度来看,最好的做法可能是引入一个 JSON MIB 编译器,它将 JSON MIB 转换为 JSON MIB 索引的抽象语法树可以构建...