Skip to content

destroy_session

destroy_session

Service for permanently deleting an ETEngine scenario/session (hard delete).

Classes

DestroySessionRunner

Bases: BaseRunner[Dict[str, Any]]

Runner for permanently deleting an ETEngine scenario/session (hard delete).

DELETE /api/v3/scenarios/:id

WARNING: This is a permanent deletion and cannot be undone.

Functions
build_request staticmethod
build_request(scenario_id)

Build destroy request for concurrent batching.

Parameters:

Name Type Description Default
scenario_id int

ID of the ETEngine scenario to permanently delete

required

Returns:

Type Description
Dict[str, Any]

Request dict ready for AsyncBatchRunner

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

    Args:
        scenario_id: ID of the ETEngine scenario to permanently delete

    Returns:
        Request dict ready for AsyncBatchRunner
    """
    return {
        "method": "delete",
        "path": f"/scenarios/{scenario_id}",
        "payload": None,
        "kwargs": {},
    }
run staticmethod
run(client, scenario_id, **kwargs)

Permanently delete an ETEngine scenario/session (hard delete).

WARNING: This is a permanent deletion and cannot be undone.

Parameters:

Name Type Description Default
client BaseClient

The HTTP client to use

required
scenario_id int

ID of the ETEngine scenario to permanently delete

required
**kwargs Any

Additional arguments passed to the request

{}

Returns:

Type Description
ServiceResult[Dict[str, Any]]

ServiceResult with deletion confirmation data

Example usage

result = DestroySessionRunner.run( client=client, scenario_id=123 ) if result.success: print("Session permanently deleted")

Source code in src/pyetm/services/scenario_runners/destroy_session.py
@staticmethod
def run(
    client: BaseClient,
    scenario_id: int,
    **kwargs: Any,
) -> ServiceResult[Dict[str, Any]]:
    """
    Permanently delete an ETEngine scenario/session (hard delete).

    WARNING: This is a permanent deletion and cannot be undone.

    Args:
        client: The HTTP client to use
        scenario_id: ID of the ETEngine scenario to permanently delete
        **kwargs: Additional arguments passed to the request

    Returns:
        ServiceResult with deletion confirmation data

    Example usage:
        result = DestroySessionRunner.run(
            client=client,
            scenario_id=123
        )
        if result.success:
            print("Session permanently deleted")
    """
    if not isinstance(scenario_id, int) or scenario_id <= 0:
        return ServiceResult.fail([f"Invalid scenario_id: {scenario_id}. Must be a positive integer."])

    result = DestroySessionRunner._make_request(
        client=client,
        method="delete",
        path=f"/scenarios/{scenario_id}",
        **kwargs,
    )

    return result