@@ -273,9 +273,9 @@ async def item_collection(
273
273
request : Request = kwargs ["request" ]
274
274
query_params = dict (request .query_params ) # Convert MultiDict to dict
275
275
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
277
277
if "datetime" in query_params :
278
- datetime = query_params [' datetime' ]
278
+ datetime = query_params [" datetime" ]
279
279
280
280
base_url = str (request .base_url )
281
281
@@ -363,10 +363,14 @@ async def get_item(self, item_id: str, collection_id: str, **kwargs) -> Item:
363
363
# ]
364
364
365
365
@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 ]]:
367
369
"""
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
370
374
search results with Elasticsearch.
371
375
372
376
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
386
390
return result
387
391
388
392
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
+ )
393
399
else :
394
400
converted_time = interval if interval != ".." else None
395
- result [' gte' ] = result [' lte' ] = converted_time
401
+ result [" gte" ] = result [" lte" ] = converted_time
396
402
return result
397
403
398
404
if isinstance (interval , datetime_type ):
399
405
datetime_iso = interval .isoformat ()
400
- result [' gte' ] = result [' lte' ] = datetime_iso
406
+ result [" gte" ] = result [" lte" ] = datetime_iso
401
407
elif isinstance (interval , tuple ):
402
408
start , end = interval
403
409
# Ensure datetimes are converted to UTC and formatted with 'Z'
404
410
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"
406
412
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"
408
414
409
415
return result
410
416
0 commit comments