From 786fe1b5a0c668ce53a5761e6dbee2b0702154a7 Mon Sep 17 00:00:00 2001 From: belthlemar Date: Wed, 12 Feb 2025 15:57:33 +0100 Subject: [PATCH] little refacot --- src/antares/craft/model/hydro.py | 4 +++- src/antares/craft/service/api_services/area_api.py | 7 ++----- src/antares/craft/service/api_services/models/hydro.py | 6 ++---- src/antares/craft/service/local_services/area_local.py | 5 +---- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/antares/craft/model/hydro.py b/src/antares/craft/model/hydro.py index a176cb55..01afb7b8 100644 --- a/src/antares/craft/model/hydro.py +++ b/src/antares/craft/model/hydro.py @@ -93,7 +93,9 @@ def update_properties(self, properties: HydroPropertiesUpdate) -> None: self._properties = self.read_properties() def read_properties(self) -> HydroProperties: - return self._service.read_properties(self.area_id) + properties = self._service.read_properties(self.area_id) + self._properties = properties + return properties def get_maxpower(self) -> pd.DataFrame: return self._service.get_maxpower(self.area_id) diff --git a/src/antares/craft/service/api_services/area_api.py b/src/antares/craft/service/api_services/area_api.py index 4e796e48..c63322d3 100644 --- a/src/antares/craft/service/api_services/area_api.py +++ b/src/antares/craft/service/api_services/area_api.py @@ -47,7 +47,7 @@ BaseShortTermStorageService, BaseThermalService, ) -from antares.craft.tools.contents_tool import AreaUiResponse, transform_name_to_id +from antares.craft.tools.contents_tool import AreaUiResponse from antares.craft.tools.matrix_tool import prepare_args_replace_matrix from typing_extensions import override @@ -507,9 +507,6 @@ def read_areas(self) -> list[Area]: dict_thermals = {thermal.id: thermal for thermal in thermals} dict_st_storage = {storage.id: storage for storage in st_storages} - area_id = transform_name_to_id(area) - hydro_properties = self.hydro_service.read_properties(area_id) - hydro = Hydro(self.hydro_service, area_id, hydro_properties) area_obj = Area( area, self, @@ -522,8 +519,8 @@ def read_areas(self) -> list[Area]: st_storages=dict_st_storage, properties=json_properties, ui=ui_response, - hydro=hydro, ) + area_obj.hydro.read_properties() area_list.append(area_obj) diff --git a/src/antares/craft/service/api_services/models/hydro.py b/src/antares/craft/service/api_services/models/hydro.py index 2036e9c5..763c898a 100644 --- a/src/antares/craft/service/api_services/models/hydro.py +++ b/src/antares/craft/service/api_services/models/hydro.py @@ -13,16 +13,14 @@ from typing import Union from antares.craft.model.hydro import HydroProperties, HydroPropertiesUpdate +from antares.craft.service.api_services.models.base_model import APIBaseModel from antares.craft.tools.all_optional_meta import all_optional_model -from pydantic import BaseModel -from pydantic.alias_generators import to_camel HydroPropertiesType = Union[HydroProperties, HydroPropertiesUpdate] @all_optional_model -class HydroPropertiesAPI(BaseModel, populate_by_name=True, alias_generator=to_camel, extra="forbid"): - # todo: use API Model once the other PR is merged +class HydroPropertiesAPI(APIBaseModel): inter_daily_breakdown: float intra_daily_modulation: float inter_monthly_breakdown: float diff --git a/src/antares/craft/service/local_services/area_local.py b/src/antares/craft/service/local_services/area_local.py index 9c637721..f76b4d31 100644 --- a/src/antares/craft/service/local_services/area_local.py +++ b/src/antares/craft/service/local_services/area_local.py @@ -416,9 +416,6 @@ def read_areas(self) -> List[Area]: layer_y=ui_dict["ui"].get("layerY"), layer_color=ui_dict["ui"].get("layerColor"), ) - area_id = transform_name_to_id(element.name) - hydro_properties = self.hydro_service.read_properties(area_id) - hydro = Hydro(self.hydro_service, area_id, hydro_properties) area = Area( name=element.name, area_service=self, @@ -428,8 +425,8 @@ def read_areas(self) -> List[Area]: hydro_service=self.hydro_service, properties=area_properties.yield_area_properties(), ui=ui_properties, - hydro=hydro, ) + area.hydro.read_properties() areas.append(area) areas.sort(key=lambda area_obj: area_obj.id)