#!/usr/bin/python3

import argparse
from importlib import import_module


def main() -> int:
    parser = argparse.ArgumentParser(description="Obtain TOF voter metrics")
    parser.add_argument(
        "--data-directory",
        "-d",
        help="Data directory (default 'data')",
        dest="dir",
        default="data",
    )

    subparser = parser.add_subparsers(help="Available subcommands")

    commands = [
        import_module("libvoters.subcmd.analyze-commits"),
        import_module("libvoters.subcmd.analyze-reviews"),
        import_module("libvoters.subcmd.dump-gerrit"),
        import_module("libvoters.subcmd.report"),
    ]
    commands = [x.subcmd(subparser) for x in commands]  # type: ignore

    args = parser.parse_args()

    if "cmd" not in args:
        print("Missing subcommand!")
        return 1

    return int(args.cmd.run(args))