from datetime import datetime, date from typing import Any def normalise_date(value: Any, allow_none: bool = True) -> date | None: if value is None and allow_none: return None if isinstance(value, datetime): return value.date() raise ValueError(f"Unexpected date value: {value!r}")