Source code for ace.centralize.functions

"""
    Generic utility function for data extraction and mapping
"""

from dateutil import parser
from datetime import datetime, date


# ======================================================================================================================
# ============================= UTILITY functions for Centralize messages process ======================================

[docs] def get_updated_old_str(element, default: str = None) -> str | None: return str(element.get("old")) if element.get("old") else default
[docs] def get_updated_new_str(element, default: str = None) -> str | None: return str(element.get("new")) if element.get("new") else default
[docs] def get_updated_old_int(element, default: int = None) -> int | None: return int(element.get("old")) if element.get("old") else default
[docs] def get_updated_new_int(element, default: int = None) -> int | None: return int(element.get("new")) if element.get("new") else default
[docs] def get_updated_old_float(element, default: float = None) -> float | None: return float(element.get("old")) if element.get("old") else default
[docs] def get_updated_new_float(element, default: float = None) -> float | None: return float(element.get("new")) if element.get("new") else default
[docs] def get_updated_old_date(element, default: date = None) -> date | None: return parser.parse(element.get("old")).date() if element.get("old") else default
[docs] def get_updated_new_date(element, default: date = None) -> date | None: return parser.parse(element.get("new")).date() if element.get("new") else default
[docs] def get_updated_old_datetime(element, default: datetime = None) -> datetime | None: return parser.parse(element.get("old")) if element.get("old") else default
[docs] def get_updated_new_datetime(element, default: datetime = None) -> datetime | None: return parser.parse(element.get("new")) if element.get("new") else default
[docs] def reverse_sorting(sorting): match sorting: case "DESC": return True case "ASC": return False case _: return False