from diceplayer.cli import ArgsModel, read_input from diceplayer.logger import logger from diceplayer.player import Player import argparse from importlib import metadata VERSION = metadata.version("diceplayer") def main(): parser = argparse.ArgumentParser(prog="Diceplayer") parser.add_argument( "-v", "--version", action="version", version="diceplayer-" + VERSION ) parser.add_argument( "-c", "--continue", dest="continuation", default=False, action="store_true" ) parser.add_argument( "-i", "--input", dest="infile", default="control.yml", metavar="INFILE", help="input file of diceplayer [default = control.in]", ) parser.add_argument( "-o", "--output", dest="outfile", default="run.log", metavar="OUTFILE", help="output file of diceplayer [default = run.log]", ) args = ArgsModel.from_args(parser.parse_args()) logger.set_output_file(args.outfile) config = read_input(args.infile) Player(config).play(continuation=args.continuation) if __name__ == "__main__": main()