From 1907eee26191bcfe235516d86cd8ab5012c50487 Mon Sep 17 00:00:00 2001 From: Alexander Schlemmer <a.schlemmer@indiscale.com> Date: Tue, 26 Nov 2024 14:22:33 +0100 Subject: [PATCH] ENH(transformers): new transformer functions for casting types of variables --- src/caoscrawler/default_transformers.yml | 12 ++++++++++++ src/caoscrawler/transformer_functions.py | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/caoscrawler/default_transformers.yml b/src/caoscrawler/default_transformers.yml index ffcb1b15..0de9a6e0 100644 --- a/src/caoscrawler/default_transformers.yml +++ b/src/caoscrawler/default_transformers.yml @@ -15,3 +15,15 @@ date_parse: datetime_parse: package: caoscrawler.transformer_functions function: datetime_parse +cast_to_int: + package: caoscrawler.transformer_functions + function: cast_to_int +cast_to_float: + package: caoscrawler.transformer_functions + function: cast_to_float +cast_to_bool: + package: caoscrawler.transformer_functions + function: cast_to_bool +cast_to_str: + package: caoscrawler.transformer_functions + function: cast_to_str diff --git a/src/caoscrawler/transformer_functions.py b/src/caoscrawler/transformer_functions.py index ce08bc6b..ddc1fe94 100644 --- a/src/caoscrawler/transformer_functions.py +++ b/src/caoscrawler/transformer_functions.py @@ -99,3 +99,19 @@ Parameters fmt = params.get("datetime_format", fmt_default) dt_str = datetime.datetime.strptime(in_value, fmt).strftime(fmt_default) return dt_str + + +def cast_to_int(in_value: Any, params: dict) -> int: + return int(in_value) + + +def cast_to_float(in_value: Any, params: dict) -> float: + return float(in_value) + + +def cast_to_bool(in_value: Any, params: dict) -> bool: + return bool(in_value) + + +def cast_to_str(in_value: Any, params: dict) -> str: + return str(in_value) -- GitLab