#!/usr/bin/env python

import sys
import argparse
import warnings
from xiaomi import XiaomiAirPurifier

if not sys.warnoptions:
        warnings.simplefilter("ignore")


def __handle_cli(args):
    parser = argparse.ArgumentParser(
        description='Telegraf plugin for Xiaomi Air Purifier')

    parser.add_argument(
        '--ip',
        help='Device IP address',
        default=None,
        required=True
    )

    parser.add_argument(
        '--token',
        help='Device token',
        default=None,
        required=False
    )

    return parser.parse_args(args)


def main(args):
    cli = __handle_cli(args)
    try:
        sys.stdout.write(str(XiaomiAirPurifier().get_metric(cli.ip, cli.token)))
    except Exception as e:
        sys.stdout.write(str(e) + "\n")
        sys.exit(1)


if __name__ == '__main__':
    main(sys.argv[1:])

