Source code for kappa_sdk.shutin_list

from __future__ import annotations
from .shutin import ShutIn
from typing import List, Optional, Iterator
from .data import Data
from .data_kind_enum import DataKindEnum


[docs] class ShutInList(list): # type: ignore[type-arg] """ Class to store a List of Shut-in """ def __init__(self, shutins: Optional[List[ShutIn]] = None) -> None: if shutins is None: shutins = [] super().__init__(shutins) def __iter__(self) -> Iterator[ShutIn]: return iter(list.__iter__(self)) @staticmethod def from_data(data: Data) -> ShutInList: """ Initialize a :class:`ShutInList` object from a :class:`Data` object Parameters ---------- data: a :class:`Data` object Returns ------- :class:`ShutInList` A list of :class:`ShutIn` objects """ if data.data_type == 'SI': shutin_attributes = data._Data__cluster_apis.data_api.get_shutin_attributes(data.vector_id) # type: ignore[attr-defined] pressure_id = data.get_shutin_data_dto().input.xyVectorId if data.kind == DataKindEnum.shutin else None shutins: List[ShutIn] = list() for shutin in shutin_attributes.attributes: shutins.append(ShutIn(shutin.start, shutin.end, shutin.attributes.reference, pressure_id, shutin.attributes.category.value, shutin.attributes.type.value, data._Data__cluster_apis.kw_api)) # type: ignore[attr-defined] return ShutInList(shutins) else: raise ValueError(f"ShutInList object can only be initialize with {DataKindEnum.shutin} data")