Skip to content
Snippets Groups Projects
Commit 09b0df9d authored by Taya Snijder's avatar Taya Snijder
Browse files

Merge branch 'L2SS-446-Extend-SNMP-client-to-support-MIB-files' of...

Merge branch 'L2SS-446-Extend-SNMP-client-to-support-MIB-files' of https://git.astron.nl/lofar2.0/tango into L2SS-446-Extend-SNMP-client-to-support-MIB-files
parents 31edebcc f0920f9d
No related branches found
No related tags found
1 merge request!288Resolve L2SS-446 "Extend snmp client to support mib files"
from pysnmp.smi import builder, compiler
from pathlib import Path
import argparse
# import logging
# logging.basicConfig(level=logging.DEBUG, format = '%(asctime)s:%(levelname)s: %(message)s')
# logger = logging.getLogger("pymib")
from pysmi import debug
debug.setLogger(debug.Debug('compiler'))
def mib_compile(mib_list : list, src=None, dst=None):
fpath = str(Path().absolute()).replace("\\", "/")
if src is None:
src = f"{fpath}/mibs"
# "file://" prefix required for local files
src = "file://" + src
if dst is None:
dst = f"{fpath}/output_pymibs"
print(src, dst)
mibBuilder = builder.MibBuilder()
# set the path for the input .mib files
# f'file://{fpath}/mibs'
compiler.addMibCompiler(mibBuilder, sources=[src, ], destination=dst)
for i in mib_list:
# compile it
mibBuilder.loadModules(i)
# logger.debug(f"Compiled \"{i}\"")
if __name__ == "__main__":
out_path = f"{Path().absolute()}/output_pymibs"
parser = argparse.ArgumentParser(
description='Compiles .mib files in to the easy to load pysnmp format')
parser.add_argument(
'-m', '--mibs', type=str, required=True, nargs='+', help='list of mib names to compile')
parser.add_argument(
'-d', '--destination', type=str, required=False, default=out_path,
help='sets the output directory for the compiled mibs. (default: '
'%(default)s)')
parser.add_argument(
'-s', '--source', type=str, required=False,
help='sets the input directory to read the .mib files from (default: '
'%(default)s)')
args = parser.parse_args()
# argparse arguments
mibs = args.mibs
destination = args.destination
source = args.source
mib_compile(["IF-MIB"], src=source, dst=destination)
\ No newline at end of file
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment