From 7c484e3974ccb0a31ff517591056536f8a5532dd Mon Sep 17 00:00:00 2001 From: asia Date: Mon, 26 May 2025 16:35:04 +0200 Subject: [PATCH] Fix to boolean parsing in shf_wrapper.py --- src/shf_wrapper.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/shf_wrapper.py b/src/shf_wrapper.py index f7de003..7675fb3 100644 --- a/src/shf_wrapper.py +++ b/src/shf_wrapper.py @@ -23,6 +23,15 @@ from seismic_hazard_forecasting import main as shf def main(argv): + + def str2bool(v): + if v.lower() in ("True", "TRUE", "yes", "true", "t", "y", "1"): + return True + elif v.lower() in ("False", "FALSE", "no", "false", "f", "n", "0"): + return False + else: + raise argparse.ArgumentTypeError("Boolean value expected.") + parser = argparse.ArgumentParser() parser.add_argument("catalog_file", help="Path to input file of type 'catalog'") @@ -30,23 +39,23 @@ def main(argv): parser.add_argument("--pdf_file", help="Path to input file of type 'PDF'", type=str, default=None, required=False) parser.add_argument("--m_file", help="Path to input file of type 'm'", type=str, default=None, required=False) - parser.add_argument("--m_select", type=bool) + parser.add_argument("--m_select", type=str2bool) parser.add_argument("--mag_label", type=str, default=None, required=False) parser.add_argument("--mc", type=float, default=None, required=False) parser.add_argument("--m_max", type=float, default=None, required=False) parser.add_argument("--m_kde_method", type=str) - parser.add_argument("--xy_select", type=bool) + parser.add_argument("--xy_select", type=str2bool) parser.add_argument("--grid_dim", type=int) - parser.add_argument("--xy_win_method", type=bool) - parser.add_argument("--rate_select", type=bool) + parser.add_argument("--xy_win_method", type=str2bool) + parser.add_argument("--rate_select", type=str2bool) parser.add_argument("--time_win_duration", type=float) - parser.add_argument("--forecast_select", type=bool) + parser.add_argument("--forecast_select", type=str2bool) parser.add_argument("--custom_rate", type=float, default=None, required=False) parser.add_argument("--forecast_len", type=float) parser.add_argument("--time_unit", type=str) parser.add_argument("--model", type=str) parser.add_argument("--products_string", type=str) - parser.add_argument("--verbose", type=bool) + parser.add_argument("--verbose", type=str2bool) args = parser.parse_args() shf(**vars(args)) -- 2.16.5