From 685ce79dbb386163b2ee3b3e3500ec70ab1a9307 Mon Sep 17 00:00:00 2001 From: Alexander Schlemmer <a.schlemmer@indiscale.com> Date: Thu, 28 Nov 2024 20:49:33 +0100 Subject: [PATCH] ENH(transformers): added better logic for converting to bool --- src/caoscrawler/transformer_functions.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/caoscrawler/transformer_functions.py b/src/caoscrawler/transformer_functions.py index 03f017b1..117d0b02 100644 --- a/src/caoscrawler/transformer_functions.py +++ b/src/caoscrawler/transformer_functions.py @@ -127,11 +127,20 @@ def cast_to_bool(in_value: Any, params: dict) -> bool: """ Cast the `in_value` to bool. + This is done by comparing `in_value` to "True". + Only "true", "True", "False" and "false" are accepted as possible values. + All other input values raise an error. + Parameters ========== No parameters. """ - return bool(in_value) + val = str(in_value).lower() + if val == "true": + return True + if val == "false": + return False + raise ValueError("Invalid value for type cast to bool: {}".format(in_value)) def cast_to_str(in_value: Any, params: dict) -> str: -- GitLab