From cdd6d3a8b45d6d6b29a39b48f61948a70f477ee0 Mon Sep 17 00:00:00 2001 From: Pim Nelissen Date: Tue, 3 Mar 2026 21:03:26 +0100 Subject: [PATCH] improve logging. update test case for detector. --- src/pg_rad/main.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/pg_rad/main.py b/src/pg_rad/main.py index 4214f89..e944fb5 100644 --- a/src/pg_rad/main.py +++ b/src/pg_rad/main.py @@ -10,6 +10,7 @@ from pg_rad.exceptions.exceptions import ( MissingConfigKeyError, OutOfBoundsError, DimensionError, + InvalidConfigValueError, InvalidIsotopeError ) from pg_rad.logger.logger import setup_logger @@ -64,15 +65,20 @@ def main(): activity_MBq: 1000 position: [500, 100, 0] isotope: CS137 + + detector: + name: dummy + is_isotropic: True """ cp = ConfigParser(test_yaml).parse() landscape = LandscapeDirector.build_from_config(cp) - + detector = DetectorBuilder(cp.detector).build() output = SimulationEngine( landscape=landscape, runtime_spec=cp.runtime, - sim_spec=cp.options + sim_spec=cp.options, + detector=detector ).simulate() plotter = ResultPlotter(landscape, output) @@ -96,18 +102,19 @@ def main(): MissingConfigKeyError, KeyError, YAMLError, - ): + ) as e: + logger.critical(e) logger.critical( - "The provided config file is invalid. " - "Check the log above. You can consult the documentation for " - "an explanation of how to define a config file." + "The config file is missing required keys or may be an " + "invalid YAML file. Check the log above. Consult the " + "documentation for examples of how to write a config file." ) sys.exit(1) except ( OutOfBoundsError, DimensionError, InvalidIsotopeError, - ValueError + InvalidConfigValueError ) as e: logger.critical(e) logger.critical(