@@ -273,9 +273,9 @@ async def item_collection(
273273 request : Request = kwargs ["request" ]
274274 query_params = dict (request .query_params ) # Convert MultiDict to dict
275275
276- # I am not sure why I have to do this
276+ # I am not sure why I have to do this .... as of stac-fastapi 2.5.2
277277 if "datetime" in query_params :
278- datetime = query_params [' datetime' ]
278+ datetime = query_params [" datetime" ]
279279
280280 base_url = str (request .base_url )
281281
@@ -363,10 +363,14 @@ async def get_item(self, item_id: str, collection_id: str, **kwargs) -> Item:
363363 # ]
364364
365365 @staticmethod
366- def _return_date (interval : Optional [Union [DateTimeType , str ]]) -> Dict [str , Optional [str ]]:
366+ def _return_date (
367+ interval : Optional [Union [DateTimeType , str ]]
368+ ) -> Dict [str , Optional [str ]]:
367369 """
368- Convert a date interval (which may be a datetime, a tuple of one or two datetimes,
369- a string representing a datetime or range, or None) into a dictionary for filtering
370+ Convert a date interval.
371+
372+ (which may be a datetime, a tuple of one or two datetimes a string
373+ representing a datetime or range, or None) into a dictionary for filtering
370374 search results with Elasticsearch.
371375
372376 This function ensures the output dictionary contains 'gte' and 'lte' keys,
@@ -386,25 +390,27 @@ def _return_date(interval: Optional[Union[DateTimeType, str]]) -> Dict[str, Opti
386390 return result
387391
388392 if isinstance (interval , str ):
389- if '/' in interval :
390- parts = interval .split ('/' )
391- result ['gte' ] = parts [0 ] if parts [0 ] != ".." else None
392- result ['lte' ] = parts [1 ] if len (parts ) > 1 and parts [1 ] != ".." else None
393+ if "/" in interval :
394+ parts = interval .split ("/" )
395+ result ["gte" ] = parts [0 ] if parts [0 ] != ".." else None
396+ result ["lte" ] = (
397+ parts [1 ] if len (parts ) > 1 and parts [1 ] != ".." else None
398+ )
393399 else :
394400 converted_time = interval if interval != ".." else None
395- result [' gte' ] = result [' lte' ] = converted_time
401+ result [" gte" ] = result [" lte" ] = converted_time
396402 return result
397403
398404 if isinstance (interval , datetime_type ):
399405 datetime_iso = interval .isoformat ()
400- result [' gte' ] = result [' lte' ] = datetime_iso
406+ result [" gte" ] = result [" lte" ] = datetime_iso
401407 elif isinstance (interval , tuple ):
402408 start , end = interval
403409 # Ensure datetimes are converted to UTC and formatted with 'Z'
404410 if start :
405- result ["gte" ] = start .strftime (' %Y-%m-%dT%H:%M:%S.%f' )[:- 3 ] + 'Z'
411+ result ["gte" ] = start .strftime (" %Y-%m-%dT%H:%M:%S.%f" )[:- 3 ] + "Z"
406412 if end :
407- result ["lte" ] = end .strftime (' %Y-%m-%dT%H:%M:%S.%f' )[:- 3 ] + 'Z'
413+ result ["lte" ] = end .strftime (" %Y-%m-%dT%H:%M:%S.%f" )[:- 3 ] + "Z"
408414
409415 return result
410416
0 commit comments