Skip to content

Commit a75e665

Browse files
Yuri ZmytrakovYuri Zmytrakov
authored andcommitted
fix: remove broken conformance links
1 parent 56af26d commit a75e665

File tree

2 files changed

+42
-4
lines changed
  • stac_fastapi
    • core/stac_fastapi/core
    • opensearch/stac_fastapi/opensearch

2 files changed

+42
-4
lines changed

stac_fastapi/core/stac_fastapi/core/core.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ class CoreClient(AsyncBaseCoreClient):
7272

7373
database: BaseDatabaseLogic = attr.ib()
7474
base_conformance_classes: List[str] = attr.ib(
75-
factory=lambda: BASE_CONFORMANCE_CLASSES
75+
factory=lambda: [
76+
cls.value
77+
for cls in BASE_CONFORMANCE_CLASSES
78+
if cls.value
79+
!= "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30"
80+
]
7681
)
7782
extensions: List[ApiExtension] = attr.ib(default=attr.Factory(list))
7883

stac_fastapi/opensearch/stac_fastapi/opensearch/app.py

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,26 +68,51 @@
6868
filter_extension.conformance_classes.append(
6969
FilterConformanceClasses.ADVANCED_COMPARISON_OPERATORS
7070
)
71+
filter_extension.conformance_classes = [
72+
cls
73+
for cls in filter_extension.conformance_classes
74+
if cls.value != "https://api.stacspec.org/v1.0.0-rc.2/item-search#filter"
75+
]
7176

7277
# Adding collection search extension for compatibility with stac-auth-proxy
7378
# (https://github.com/developmentseed/stac-auth-proxy)
7479
# The extension is not fully implemented yet but is required for collection filtering support
7580
collection_search_extension = CollectionSearchExtension()
76-
collection_search_extension.conformance_classes.append(
77-
"https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter"
78-
)
81+
collection_search_extension.conformance_classes = [
82+
cls
83+
for cls in collection_search_extension.conformance_classes
84+
if cls
85+
not in [
86+
"https://api.stacspec.org/v1.0.0-rc.1/collection-search",
87+
"http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/simple-query",
88+
]
89+
]
7990

8091
aggregation_extension = AggregationExtension(
8192
client=EsAsyncBaseAggregationClient(
8293
database=database_logic, session=session, settings=settings
8394
)
8495
)
96+
97+
# Remove the v0.3.0 aggregation link
98+
aggregation_extension.conformance_classes = [
99+
cls
100+
for cls in aggregation_extension.conformance_classes
101+
if cls != "https://api.stacspec.org/v0.3.0/aggregation"
102+
]
103+
85104
aggregation_extension.POST = EsAggregationExtensionPostRequest
86105
aggregation_extension.GET = EsAggregationExtensionGetRequest
87106

88107
fields_extension = FieldsExtension()
89108
fields_extension.conformance_classes.append(FieldsConformanceClasses.ITEMS)
90109

110+
fields_extension.conformance_classes = [
111+
cls
112+
for cls in fields_extension.conformance_classes
113+
if cls.value != "http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/simple-query"
114+
]
115+
91116
search_extensions = [
92117
fields_extension,
93118
QueryExtension(),
@@ -120,6 +145,14 @@
120145
),
121146
)
122147

148+
for extension in search_extensions:
149+
extension.conformance_classes = [
150+
cls
151+
for cls in extension.conformance_classes
152+
if cls != "https://api.stacspec.org/v1.0.0/collections/extensions/transaction"
153+
and cls
154+
!= "https://api.stacspec.org/v1.0.0/ogcapi-features/extensions/transaction"
155+
]
123156
extensions = [aggregation_extension] + search_extensions
124157

125158
database_logic.extensions = [type(ext).__name__ for ext in extensions]

0 commit comments

Comments
 (0)