Skip to content

Commit 6903791

Browse files
committed
move format date range
1 parent c39a85d commit 6903791

File tree

1 file changed

+2
-20
lines changed

1 file changed

+2
-20
lines changed

stac_fastapi/core/stac_fastapi/core/extensions/aggregation.py

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from stac_fastapi.core.base_database_logic import BaseDatabaseLogic
1616
from stac_fastapi.core.base_settings import ApiBaseSettings
17-
from stac_fastapi.core.datetime_utils import datetime_to_str
17+
from stac_fastapi.core.datetime_utils import datetime_to_str, format_datetime_range
1818
from stac_fastapi.core.session import Session
1919
from stac_fastapi.extensions.core.aggregation.client import AsyncBaseAggregationClient
2020
from stac_fastapi.extensions.core.aggregation.request import (
@@ -257,24 +257,6 @@ def get_filter(self, filter, filter_lang):
257257
detail=f"Unknown filter-lang: {filter_lang}. Only cql2-json or cql2-text are supported.",
258258
)
259259

260-
def _format_datetime_range(self, date_tuple: DateTimeType) -> str:
261-
"""
262-
Convert a tuple of datetime objects or None into a formatted string for API requests.
263-
264-
Args:
265-
date_tuple (tuple): A tuple containing two elements, each can be a datetime object or None.
266-
267-
Returns:
268-
str: A string formatted as 'YYYY-MM-DDTHH:MM:SS.sssZ/YYYY-MM-DDTHH:MM:SS.sssZ', with '..' used if any element is None.
269-
"""
270-
271-
def format_datetime(dt):
272-
"""Format a single datetime object to the ISO8601 extended format with 'Z'."""
273-
return dt.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z" if dt else ".."
274-
275-
start, end = date_tuple
276-
return f"{format_datetime(start)}/{format_datetime(end)}"
277-
278260
async def aggregate(
279261
self,
280262
aggregate_request: Optional[EsAggregationExtensionPostRequest] = None,
@@ -325,7 +307,7 @@ async def aggregate(
325307
base_args["intersects"] = orjson.loads(unquote_plus(intersects))
326308

327309
if datetime:
328-
base_args["datetime"] = self._format_datetime_range(datetime)
310+
base_args["datetime"] = format_datetime_range(datetime)
329311

330312
if filter_expr:
331313
base_args["filter"] = self.get_filter(filter_expr, filter_lang)

0 commit comments

Comments
 (0)