diff --git a/planet/cli/subscriptions.py b/planet/cli/subscriptions.py index 4cc65c3d..05568b86 100644 --- a/planet/cli/subscriptions.py +++ b/planet/cli/subscriptions.py @@ -514,10 +514,10 @@ def request_pv(var_type, var_id, geometry, start_time, end_time, pretty): more details. """ res = subscription_request.planetary_variable_source( - var_type, var_id, geometry, start_time, + var_type=var_type, end_time=end_time, ) echo_json(res, pretty) diff --git a/planet/subscription_request.py b/planet/subscription_request.py index 8fb52a00..79f68304 100644 --- a/planet/subscription_request.py +++ b/planet/subscription_request.py @@ -285,10 +285,10 @@ def catalog_source( def planetary_variable_source( - var_type: Optional[str], var_id: str, geometry: Union[dict, str], start_time: datetime, + var_type: Optional[str] = None, end_time: Optional[datetime] = None, ) -> dict: """Construct a Planetary Variable subscription source. @@ -304,9 +304,6 @@ def planetary_variable_source( Note: this function does not validate variable types and ids. Parameters: - var_type: Planetary Variable type. See documentation for all - available types. Used to be a required parameter but - is now optional and can be 'None'. var_id: A Planetary Variable ID. See documenation for all available IDs. geometry: The area of interest of the subscription that will be @@ -314,6 +311,9 @@ def planetary_variable_source( Features API geometry reference (string) start_time: The start time of the subscription. This time can be in the past or future. + var_type: Planetary Variable type. See documentation for all + available types. Used to be a required parameter but + is now optional and can be 'None'. end_time: The end time of the subscription. This time can be in the past or future, and must be after the start_time. diff --git a/tests/unit/test_subscription_request.py b/tests/unit/test_subscription_request.py index deafbf94..0995527a 100644 --- a/tests/unit/test_subscription_request.py +++ b/tests/unit/test_subscription_request.py @@ -576,10 +576,10 @@ def test_toar_tool_success(): def test_pv_source_success(geom_geojson, var_type, var_id): """Configure a planetary variable subscription source.""" source = subscription_request.planetary_variable_source( - var_type, var_id, geometry=geom_geojson, start_time=datetime(2021, 3, 1), + var_type=var_type, end_time=datetime(2021, 3, 2), ) @@ -593,6 +593,17 @@ def test_pv_source_success(geom_geojson, var_type, var_id): assert params["start_time"].startswith("2021-03-01") +def test_pv_source_no_type(geom_geojson): + """Configure a planetary variable subscription source.""" + source = subscription_request.planetary_variable_source( + "BIOMASS-PROXY_V3.0_10", + geometry=geom_geojson, + start_time=datetime(2021, 3, 1), + end_time=datetime(2021, 3, 2), + ) + assert source.get("type") is None + + @respx.mock @pytest.mark.parametrize( # Test all the combinations of the three options plus some with dupes.