#!/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))