mirror of
https://github.com/pim-n/pg-rad
synced 2026-03-11 19:58:11 +01:00
add MissingSubKeyError for config loading. update main.py for --config flag
This commit is contained in:
@ -1,8 +1,14 @@
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from pg_rad.logger import setup_logger
|
||||
from pg_rad.landscape import LandscapeDirector
|
||||
from pg_rad.plotting import LandscapeSlicePlotter
|
||||
from pandas.errors import ParserError
|
||||
from yaml import YAMLError
|
||||
|
||||
from pg_rad.exceptions.exceptions import MissingNestedKeyError
|
||||
from pg_rad.logger.logger import setup_logger
|
||||
from pg_rad.landscape.director import LandscapeDirector
|
||||
from pg_rad.plotting.landscape_plotter import LandscapeSlicePlotter
|
||||
|
||||
|
||||
def main():
|
||||
@ -10,7 +16,10 @@ def main():
|
||||
prog="pg-rad",
|
||||
description="Primary Gamma RADiation landscape tool"
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--config",
|
||||
help="Build from a config file."
|
||||
)
|
||||
parser.add_argument(
|
||||
"--test",
|
||||
action="store_true",
|
||||
@ -29,12 +38,35 @@ def main():
|
||||
|
||||
args = parser.parse_args()
|
||||
setup_logger(args.loglevel)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
if args.test:
|
||||
landscape = LandscapeDirector().build_test_landscape()
|
||||
plotter = LandscapeSlicePlotter()
|
||||
plotter.plot(landscape, save=args.saveplot)
|
||||
|
||||
elif args.config:
|
||||
try:
|
||||
landscape = LandscapeDirector.build_from_config(args.config)
|
||||
plotter = LandscapeSlicePlotter()
|
||||
plotter.plot(landscape, save=args.saveplot)
|
||||
except (
|
||||
MissingNestedKeyError,
|
||||
KeyError,
|
||||
YAMLError
|
||||
):
|
||||
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."
|
||||
)
|
||||
sys.exit(1)
|
||||
except (
|
||||
FileNotFoundError,
|
||||
ParserError
|
||||
):
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user