#!/usr/bin/env python

import argparse
import json
import os
import shlex
import sys

def main(argv):
    parser = argparse.ArgumentParser(description="Inventory for local")
    parser.add_argument("--list", action="store_true", help="Verbose output")
    parser.add_argument('--host', help="Get host variables")
    opts = parser.parse_args()

    try:
        if opts.host:
            data = host(opts.host)
        else:
            data = list()
        sys.stdout.write(json.dumps(data, indent=4, separators=(',', ': ')))
    except RuntimeError, ex:
        sys.stderr.write("{0}: {1}\n".format(os.path.basename(sys.argv[0]), str(ex)))
        return 1

    return 0

def list():
    rpms = [ ]
    hosts = [ ]
    variables = { }
    if os.environ.get("TEST_SUBJECTS", None) == "local":
        vars = host("local")
        if vars:
            hosts.append("local")
            variables["local"] = vars
    return { "subjects": { "hosts": hosts, "vars": { } }, "localhost": { "hosts": hosts, "vars": { } }, "_meta": { "hostvars": variables } }

def host(host):
    if host == "local":
        return { "ansible_connection": "local" }
    return None

if __name__ == '__main__':
    sys.exit(main(sys.argv))
