|
1 | 1 | """stac-fastapi utility methods.""" |
2 | 2 |
|
3 | | -from datetime import datetime |
4 | 3 | from typing import Any, Dict, Optional, Set, Union |
5 | 4 |
|
6 | | -from stac_fastapi.types.rfc3339 import DateTimeType |
7 | 5 | from stac_fastapi.types.stac import Item |
8 | 6 |
|
9 | 7 |
|
@@ -114,34 +112,3 @@ def dict_deep_update(merge_to: Dict[str, Any], merge_from: Dict[str, Any]) -> No |
114 | 112 | dict_deep_update(merge_to[k], merge_from[k]) |
115 | 113 | else: |
116 | 114 | merge_to[k] = v |
117 | | - |
118 | | - |
119 | | -def format_datetime_range(dt_range: Union[DateTimeType, str]) -> str: |
120 | | - """ |
121 | | - Convert a datetime object or a tuple of datetime objects to a formatted string for datetime ranges. |
122 | | -
|
123 | | - Args: |
124 | | - dt_range (DateTimeType): The date interval, |
125 | | - which might be a single datetime or a tuple with one or two datetimes. |
126 | | -
|
127 | | - Returns: |
128 | | - str: A formatted string like 'YYYY-MM-DDTHH:MM:SSZ/..', 'YYYY-MM-DDTHH:MM:SSZ', or the original string input. |
129 | | - """ |
130 | | - # Handle a single datetime object |
131 | | - if isinstance(dt_range, datetime): |
132 | | - return dt_range.isoformat().replace("+00:00", "Z") |
133 | | - |
134 | | - # Handle a tuple containing datetime objects or None |
135 | | - elif isinstance(dt_range, tuple): |
136 | | - start, end = dt_range |
137 | | - |
138 | | - # Convert start datetime to string if not None, otherwise use ".." |
139 | | - start_str = start.isoformat().replace("+00:00", "Z") if start else ".." |
140 | | - |
141 | | - # Convert end datetime to string if not None, otherwise use ".." |
142 | | - end_str = end.isoformat().replace("+00:00", "Z") if end else ".." |
143 | | - |
144 | | - return f"{start_str}/{end_str}" |
145 | | - |
146 | | - # Return input as-is if it's not any expected type (fallback) |
147 | | - return dt_range |
0 commit comments