def parse_datetime()

in otava/util.py [0:0]


def parse_datetime(date: Optional[str]) -> Optional[datetime]:
    """
    Converts a human-readable string into a datetime object.
    Accepts many formats and many languages, see dateparser package.
    Raises DataFormatError if the input string format hasn't been recognized.
    """
    if date is None:
        return None
    parsed: datetime = dateparser.parse(date, settings={"RETURN_AS_TIMEZONE_AWARE": True})
    if parsed is None:
        raise DateFormatError(f"Invalid datetime value: {date}")
    return parsed