#! /usr/bin/python3.6 -s
import sys
import Services

def main():
    try:
        class_name = sys.argv[1]
    except IndexError:
        print('No check specified.')
        return

    try:
        ServiceClass = getattr(Services, class_name)
    except AttributeError:
        print("'{class_name}' check not found.".format(class_name=class_name))
        return

    args, kwargs = parse_args()

    service = ServiceClass(*args, **kwargs)
    print(service.get_data())


def parse_args():
    args = []
    kwargs = {}

    raw_args = sys.argv[2:]
    for raw_arg in raw_args:
        if '=' in raw_arg:
            key, value = raw_arg.split('=', 1)

            try:
                value = int(value)
            except ValueError:
                pass

            kwargs[key] = value

        else:
            try:
                raw_arg = int(raw_arg)
            except ValueError:
                pass

            args.append(raw_arg)

    return args, kwargs

main()