Skip to content

discard_saved_scenario

discard_saved_scenario

Service for discarding a saved scenario (soft-delete).

Classes

DiscardSavedScenarioRunner

Bases: BaseRunner[Dict[str, Any]]

Runner for discarding a SavedScenario from MyETM (soft-delete).

PUT /api/v3/saved_scenarios/:id/discard

Functions
build_request staticmethod
build_request(saved_scenario_id)

Build discard request for concurrent batching.

Parameters:

Name Type Description Default
saved_scenario_id int

ID of the SavedScenario to discard

required

Returns:

Type Description
Dict[str, Any]

Request dict ready for AsyncBatchRunner

Source code in src/pyetm/services/scenario_runners/discard_saved_scenario.py
@staticmethod
def build_request(saved_scenario_id: int) -> Dict[str, Any]:
    """
    Build discard request for concurrent batching.

    Args:
        saved_scenario_id: ID of the SavedScenario to discard

    Returns:
        Request dict ready for AsyncBatchRunner
    """
    return {
        "method": "put",
        "path": f"/saved_scenarios/{saved_scenario_id}/discard",
        "payload": None,
        "kwargs": {},
    }
run staticmethod
run(client, saved_scenario_id, **kwargs)

Discard a SavedScenario from MyETM (soft-delete).

Parameters:

Name Type Description Default
client BaseClient

The HTTP client to use

required
saved_scenario_id int

ID of the SavedScenario to discard

required
**kwargs Any

Additional arguments passed to the request

{}

Returns:

Type Description
ServiceResult[Dict[str, Any]]

ServiceResult with discard confirmation data

Example usage

result = DiscardSavedScenarioRunner.run( client=client, saved_scenario_id=123 ) if result.success: print("Scenario discarded successfully")

Source code in src/pyetm/services/scenario_runners/discard_saved_scenario.py
@staticmethod
def run(
    client: BaseClient,
    saved_scenario_id: int,
    **kwargs: Any,
) -> ServiceResult[Dict[str, Any]]:
    """
    Discard a SavedScenario from MyETM (soft-delete).

    Args:
        client: The HTTP client to use
        saved_scenario_id: ID of the SavedScenario to discard
        **kwargs: Additional arguments passed to the request

    Returns:
        ServiceResult with discard confirmation data

    Example usage:
        result = DiscardSavedScenarioRunner.run(
            client=client,
            saved_scenario_id=123
        )
        if result.success:
            print("Scenario discarded successfully")
    """
    if not isinstance(saved_scenario_id, int) or saved_scenario_id <= 0:
        return ServiceResult.fail([f"Invalid saved_scenario_id: {saved_scenario_id}. Must be a positive integer."])

    result = DiscardSavedScenarioRunner._make_request(
        client=client,
        method="put",
        path=f"/saved_scenarios/{saved_scenario_id}/discard",
        **kwargs,
    )

    return result