Spaces:
Running
Running
| from datetime import datetime | |
| from pydantic import BeforeValidator | |
| def timestamp_to_str(timestamp: datetime | str) -> str: | |
| if isinstance(timestamp, str): | |
| # Just check if the string is a valid datetime | |
| try: | |
| datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S %Z") # noqa: DTZ007 | |
| result = timestamp | |
| except ValueError as e: | |
| msg = f"Invalid timestamp: {timestamp}" | |
| raise ValueError(msg) from e | |
| else: | |
| result = timestamp.strftime("%Y-%m-%d %H:%M:%S %Z") | |
| return result | |
| def timestamp_with_fractional_seconds(timestamp: datetime | str) -> str: | |
| if isinstance(timestamp, str): | |
| # Just check if the string is a valid datetime | |
| try: | |
| datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S.%f %Z") # noqa: DTZ007 | |
| result = timestamp | |
| except ValueError as e: | |
| msg = f"Invalid timestamp: {timestamp}" | |
| raise ValueError(msg) from e | |
| else: | |
| result = timestamp.strftime("%Y-%m-%d %H:%M:%S.%f %Z") | |
| return result | |
| timestamp_to_str_validator = BeforeValidator(timestamp_to_str) | |
| timestamp_with_fractional_seconds_validator = BeforeValidator(timestamp_with_fractional_seconds) | |