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")