refactor: replace Logger with RunLogger and streamline logging setup
This commit is contained in:
@@ -1,22 +1,34 @@
|
||||
from diceplayer import VERSION, logger
|
||||
from diceplayer.player import Player
|
||||
import yaml
|
||||
|
||||
from diceplayer.config.player_config import PlayerConfig
|
||||
from diceplayer.logger import logger
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from importlib import metadata
|
||||
|
||||
from diceplayer.player import Player
|
||||
|
||||
VERSION = metadata.version("diceplayer")
|
||||
|
||||
|
||||
def read_input(infile) -> PlayerConfig:
|
||||
try:
|
||||
with open(infile, "r") as f:
|
||||
return PlayerConfig.model_validate(
|
||||
yaml.safe_load(f)
|
||||
)
|
||||
except Exception as e:
|
||||
logger.exception("Failed to read input file")
|
||||
raise e
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Read and store the arguments passed to the program
|
||||
and set the usage and help messages
|
||||
"""
|
||||
|
||||
parser = argparse.ArgumentParser(prog="Diceplayer")
|
||||
parser.add_argument(
|
||||
"-c", "--continue", dest="opt_continue", default=False, action="store_true"
|
||||
"-v", "--version", action="version", version="diceplayer-" + VERSION
|
||||
)
|
||||
parser.add_argument(
|
||||
"-v", "--version", action="version", version="diceplayer-" + VERSION
|
||||
"-c", "--continue", dest="continuation", default=False, action="store_true"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-i",
|
||||
@@ -36,35 +48,12 @@ def main():
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
# Open OUTFILE for writing and print keywords and initial info
|
||||
logger.set_logger(args.outfile, logging.INFO)
|
||||
logger.set_output_file(args.outfile)
|
||||
|
||||
if args.opt_continue:
|
||||
player = Player.from_save()
|
||||
else:
|
||||
player = Player.from_file(args.infile)
|
||||
config = read_input(args.infile)
|
||||
|
||||
player.read_potentials()
|
||||
|
||||
player.create_simulation_dir()
|
||||
player.create_geoms_file()
|
||||
|
||||
player.print_keywords()
|
||||
|
||||
player.print_potentials()
|
||||
|
||||
player.prepare_system()
|
||||
|
||||
player.start()
|
||||
|
||||
logger.info("\n+" + 88 * "-" + "+\n")
|
||||
|
||||
player.print_results()
|
||||
|
||||
logger.info("\n+" + 88 * "-" + "+\n")
|
||||
|
||||
logger.info("Diceplayer finished successfully \n")
|
||||
Player(config).play(continuation=args.continuation)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
Reference in New Issue
Block a user