#!/usr/bin/env python
# Copyright 2013 Revel Systems
#
# All Rights Reserved.

import sys
import argparse
from niice_client.client import Client
from niice_client.client_configuration import DEFAULT_CLIENT_CONFIG_PATH, client_configuration_from

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Send event data to niice metrics collector.")
    parser.add_argument("-c", "--config", dest="config", help="config file.", default=DEFAULT_CLIENT_CONFIG_PATH)
    parser.add_argument("-k", "--key", dest="key", help="Metrics key")
    parser.add_argument("-v", "--value", dest="value", help="Metrics value")
    options = parser.parse_args(sys.argv[1:])

    if not options.key or not options.value:
        print("improper usage. Key and value are required.")

    config = client_configuration_from(options.config)
    with config.rabbitmq_connection() as channel:
        client = Client(channel, config.queue, config.server_id, config.timezone)
        client.send_event(options.key, options.value)
