47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
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()
|