mirror of
https://github.com/qdrant/qdrant-client.git
synced 2026-08-03 00:20:58 -05:00
30 lines
718 B
Python
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
|