Source code for kappa_sdk.field_well_properties_catalog

from .well_property import WellProperty
from typing import List, Iterator, SupportsIndex, Optional
from ._private._field_api import FieldAPI
from ._private.dto_converters._field_well_property_catalog_dto_converter import FieldWellPropertyCatalogDtoConverter


[docs] class FieldWellPropertiesCatalog(List[WellProperty]): """Field Well Properties catalog""" def __init__(self, field_id: Optional[str], well_property_catalog: List[WellProperty], field_api: FieldAPI, dto_converter: FieldWellPropertyCatalogDtoConverter) -> None: super().__init__(well_property_catalog) self.__field_id: Optional[str] = field_id self.__field_api: FieldAPI = field_api self.__dto_converter: FieldWellPropertyCatalogDtoConverter = dto_converter def __iter__(self) -> Iterator[WellProperty]: return iter(list.__iter__(self)) def append(self, well_property: WellProperty) -> None: self.__field_api.add_well_property_to_field_catalog(self.__field_id, [self.__dto_converter.get_well_property_dto(well_property)]) super().append(well_property) def __setitem__(self, index: SupportsIndex, well_property: WellProperty) -> None: # type:ignore[override] super().__setitem__(index, well_property) def insert(self, index: SupportsIndex, well_property: WellProperty) -> None: self.__field_api.add_well_property_to_field_catalog(self.__field_id, [self.__dto_converter.get_well_property_dto(well_property)]) super().insert(index, well_property) def extend(self, well_property_list: List[WellProperty]) -> None: # type:ignore[override] properties = [self.__dto_converter.get_well_property_dto(x) for x in well_property_list] self.__field_api.add_well_property_to_field_catalog(self.__field_id, properties) super().extend(well_property_list) def remove(self, well_property: WellProperty) -> None: raise ValueError("You are not allowed to remove any element from Well Property type Catalog")