Skip to content

Commit 789a214

Browse files
committed
Issue #149 Add processes_target_version config
1 parent ee350a8 commit 789a214

File tree

5 files changed

+12
-7
lines changed

5 files changed

+12
-7
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ The format is roughly based on [Keep a Changelog](https://keepachangelog.com/en/
88

99
## Work in progress: 0.46.0
1010

11+
- Add `AggregatorBackendConfig.processes_target_version` to define processes target version ([#149](https://github.com/Open-EO/openeo-aggregator/issues/149))
12+
1113

1214
## 0.45.0
1315

src/openeo_aggregator/backend.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -497,9 +497,8 @@ def to_response_dict(self) -> dict:
497497
class AggregatorProcessRegistry(ProcessRegistry):
498498
"""ProcessRegistry with a bit of aggregator-specific customization"""
499499

500-
def __init__(self, federation_missing: Iterable[str] = ()):
501-
# TODO #149 target_version=...
502-
super().__init__()
500+
def __init__(self, federation_missing: Iterable[str] = (), target_version: Optional[str] = None):
501+
super().__init__(target_version=target_version)
503502
self._federation_missing = list(federation_missing)
504503

505504
def get_processes_listing(self, *, exclusion_list: Optional[Iterable[str]] = None) -> ProcessesListing:
@@ -529,7 +528,8 @@ def get_process_registry(self, api_version: Union[str, ComparableVersion]) -> Pr
529528

530529
processes_metadata = self.get_merged_process_metadata()
531530
process_registry = AggregatorProcessRegistry(
532-
federation_missing=processes_metadata.get("federation:missing", [])
531+
federation_missing=processes_metadata.get("federation:missing", []),
532+
target_version=get_backend_config().processes_target_version,
533533
)
534534
for pid, spec in processes_metadata["combined_processes"].items():
535535
process_registry.add_spec(spec=spec)

src/openeo_aggregator/config/config.py

+2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ class AggregatorBackendConfig(OpenEoBackendConfig):
5454
packages=["openeo", "openeo_driver", "openeo_aggregator"],
5555
)
5656

57+
processes_target_version: Optional[str] = None
58+
5759
# TODO: allow to specify more info per backend in addtion to just URL: title, description, experimental flag, ...
5860
aggregator_backends: Dict[str, str] = attrs.field(validator=attrs.validators.min_len(1))
5961

tests/backend_config.py

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"b1": "https://b1.test/v1",
1818
"b2": "https://b2.test/v1",
1919
},
20+
processes_target_version="1.2.0",
2021
connections_cache_ttl=1.0,
2122
zookeeper_prefix="/o-a/",
2223
memoizer={

tests/test_views.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@ def test_processes_basic(self, api100, requests_mock, backend1, backend2):
771771
},
772772
],
773773
"links": [],
774-
"version": None,
774+
"version": "1.2.0",
775775
"federation:missing": [],
776776
}
777777

@@ -901,7 +901,7 @@ def test_processes_resilience(
901901
assert res == {
902902
"processes": expected,
903903
"links": [],
904-
"version": None,
904+
"version": "1.2.0",
905905
"federation:missing": federation_missing,
906906
}
907907

@@ -1065,7 +1065,7 @@ def test_processes_different_versions(self, api100, requests_mock, backend1, bac
10651065
DictSubSet({"id": "prod", "federation:backends": ["b2"]}),
10661066
],
10671067
"links": [],
1068-
"version": None,
1068+
"version": "1.2.0",
10691069
"federation:missing": [],
10701070
}
10711071

0 commit comments

Comments
 (0)