#!/usr/bin/python
# Author:   Lukas Sabla <lukas.sabla@gmail.com>
# Description:  Converts stdin to JSON for Zabbix discovery.

import sys
import argparse
import json

parser = argparse.ArgumentParser(
        description="Converts stdin to JSON for Zabbix discovery."
)
parser.add_argument("--delimiter",type=str,default=" ",
        help="Delimiter of columns. Default is space"
)
parser.add_argument("keyname",type=str,nargs='*',
        help="The {#KEYNAME} that will be returned."
)
args=parser.parse_args()
data=sys.stdin.read()

keynames = ['{#'+keyname+'}' for keyname in args.keyname]
output=[]

print('{"data":')
for i in data.splitlines():
    output.append(dict(zip(keynames,i.split(args.delimiter))))
print json.dumps(output,indent=4)
print('}')
