#!/usr/bin/python3.5 import sys, subprocess, json output = {'data':[]} command_ddTransceiversTable ='/usr/bin/snmpwalk -v '+sys.argv[1]+' -c '+sys.argv[2]+' '+sys.argv[3]+' .1.3.6.1.4.1.3709.3.5.201.1.28.1.1.4' command_ifAlias ='/usr/bin/snmpwalk -v '+sys.argv[1]+' -c '+sys.argv[2]+' '+sys.argv[3]+' IF-MIB::ifAlias' stream_ddTransceiversTable = subprocess.getoutput(command_ddTransceiversTable) stream_ifAlias = subprocess.getoutput(command_ifAlias) dict_ddTransceiversTable = {} dict_ifAlias = {} portIndexes = {} for line in stream_ddTransceiversTable.split("\n"): dict_ddTransceiversTable[line.split("DATACOM-SMI::datacomAccessDevicesMIBs.201.1.28.1.1.4.")[1].split(" =")[0]] = line.split("STRING: ")[1] for line in stream_ifAlias.split("\n"): dict_ifAlias[line.split("IF-MIB::ifAlias.")[1].split(" =")[0]] = line.split("STRING: ")[1] for index in dict_ddTransceiversTable.keys(): portIndexes[index] = { "201.1.28.1.1.4":dict_ddTransceiversTable[index], "ifAlias":dict_ifAlias[index], } for index in portIndexes.keys(): output['data'].append({ "{#SNMPINDEX}":index, "{#SNMPVALUE}":portIndexes[index]["ifAlias"] }) print(json.dumps(output, separators=(',', ':')))