refactor: replace Logger with RunLogger and streamline logging setup

This commit is contained in:
2026-03-01 11:01:04 -03:00
parent 53f75b44a5
commit c59f0d6516
23 changed files with 71 additions and 2636 deletions

View File

@@ -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()