Skip to content

Commit

Permalink
fix: add comments to extract methods
Browse files Browse the repository at this point in the history
  • Loading branch information
salemsd committed Feb 10, 2025
1 parent 41af0d4 commit 34e1550
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
14 changes: 10 additions & 4 deletions src/antares/craft/service/local_services/renewable_local.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,20 @@ def get_renewable_matrix(self, cluster_id: str, area_id: str) -> pd.DataFrame:
)

def _extract_renewable_properties(self, renewable_data: dict[str, Any]) -> RenewableClusterProperties:
# get_type_hints will yield a dict with every property with every local property as key and its type as the value
property_types = get_type_hints(RenewableClusterPropertiesLocal)

key_mapping = {"name": "renewable_name"}
# the name key is called "name" in renewable_data but "renewable_name" in the properties, that's why we map it
property_mapping = {"name": "renewable_name"}

# for each property in renewable_data, we will type it according to property_types while making sure it's not None
# because it's Optional. If it's "name" then we get its mapping from the property_mapping dict
parsed_data = {
key_mapping.get(key, key): property_types[key_mapping.get(key, key)](value) if value is not None else None
for key, value in renewable_data.items()
if key_mapping.get(key, key) in property_types
property_mapping.get(property, property): property_types[property_mapping.get(property, property)](value)
if value is not None
else None
for property, value in renewable_data.items()
if property_mapping.get(property, property) in property_types
}

return RenewableClusterPropertiesLocal(**parsed_data).yield_renewable_cluster_properties()
Expand Down
10 changes: 6 additions & 4 deletions src/antares/craft/service/local_services/thermal_local.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,14 @@ def get_thermal_matrix(self, thermal_cluster: ThermalCluster, ts_name: ThermalCl
def _extract_thermal_properties(self, thermal_data: dict[str, Any]) -> ThermalClusterProperties:
property_types = get_type_hints(ThermalClusterPropertiesLocal)

key_mapping = {"name": "thermal_name"}
property_mapping = {"name": "thermal_name"}

parsed_data = {
key_mapping.get(key, key): property_types[key_mapping.get(key, key)](value) if value is not None else None
for key, value in thermal_data.items()
if key_mapping.get(key, key) in property_types
property_mapping.get(property, property): property_types[property_mapping.get(property, property)](value)
if value is not None
else None
for property, value in thermal_data.items()
if property_mapping.get(property, property) in property_types
}

return ThermalClusterPropertiesLocal(**parsed_data).yield_thermal_cluster_properties()
Expand Down

0 comments on commit 34e1550

Please sign in to comment.