Coverage for packages/postaguvercini/src/integrify/postaguvercini/types.py: 100%
13 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
1from datetime import datetime
2from typing import Annotated
4from pydantic import BeforeValidator, Field
6FORMAT = '%Y%m%d %H:%M'
9def timestamp_to_str(value: str | datetime) -> str | None:
10 """Verilmiş datetime-i uyğun string formata salır.
11 Əgər string şəklində verilibsə, format uyğunluğu yoxlanılır."""
13 if isinstance(value, str):
14 try:
15 datetime.strptime(value, FORMAT)
16 except ValueError:
17 return None
19 return value
21 return value.strftime(FORMAT)
24DateTime = Annotated[
25 str | datetime,
26 Field(default=None),
27 BeforeValidator(timestamp_to_str),
28 'PostaGuvercin-ə göndəriləcək timestamp (YYYY-mm-DD HH:MM:SS formatına salınır)',
29]