From 10c50c72737193b1212eefe53fc1bbe72abc88a9 Mon Sep 17 00:00:00 2001 From: mshannon-sil Date: Wed, 4 Oct 2023 17:47:21 -0400 Subject: [PATCH] custom message for type errors when parsing build options --- machine/jobs/build_nmt_engine.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/machine/jobs/build_nmt_engine.py b/machine/jobs/build_nmt_engine.py index 3842efaf..3133f622 100644 --- a/machine/jobs/build_nmt_engine.py +++ b/machine/jobs/build_nmt_engine.py @@ -41,6 +41,8 @@ def clearml_check_canceled() -> None: SETTINGS.build_options = json.loads(args["build_options"]) except ValueError as e: raise ValueError("Build options could not be parsed: Invalid JSON") from e + except TypeError as e: + raise TypeError(f"Build options could not be parsed: {e}") from e if SETTINGS.build_options: SETTINGS.update(SETTINGS.build_options) SETTINGS.data_dir = os.path.expanduser(cast(str, SETTINGS.data_dir)) @@ -74,7 +76,7 @@ def main() -> None: parser.add_argument("--src-lang", required=True, type=str, help="Source language tag") parser.add_argument("--trg-lang", required=True, type=str, help="Target language tag") parser.add_argument("--clearml", default=False, action="store_true", help="Initializes a ClearML task") - parser.add_argument("--build-options", default="{}", help="Build configurations") + parser.add_argument("--build-options", default="{}", type=str, help="Build configurations") args = parser.parse_args() run({k: v for k, v in vars(args).items() if v is not None})