Files
qdrant-client/qdrant_client/local/order_by.py
2025-12-02 12:08:55 +07:00

30 lines
718 B
Python

from datetime import datetime
from qdrant_client.http.models import OrderValue
from qdrant_client.local.datetime_utils import parse
MICROS_PER_SECOND = 1_000_000
def datetime_to_microseconds(dt: datetime) -> int:
return int(dt.timestamp() * MICROS_PER_SECOND)
def to_order_value(value: str | datetime | OrderValue | None) -> OrderValue | None:
if value is None:
return None
# check if OrderValue
if isinstance(value, (int, float)):
return value
if isinstance(value, datetime):
return datetime_to_microseconds(value)
if isinstance(value, str):
dt = parse(value)
if dt is not None:
return datetime_to_microseconds(dt)
return None