diff --git a/src/caoscrawler/default_transformers.yml b/src/caoscrawler/default_transformers.yml index ffcb1b15bd2bad71083cc8f0ba84172ee3daf2b0..0de9a6e0585c5246fa5a21ffcbdfc37cfdc2b88d 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 ce08bc6bc05caa84f342cdc25f3243c5bab0b79c..ddc1fe9421e0f3129056acbdbc4c66140be455cd 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)