|
1 | | -from typing import Any |
| 1 | +from typing import Any, get_args |
2 | 2 |
|
3 | 3 | from libecalc.common.energy_model_type import EnergyModelType |
4 | 4 | from libecalc.common.logger import logger |
|
22 | 22 | CompressorTrainSimplifiedWithKnownStages, |
23 | 23 | CompressorTrainSimplifiedWithUnknownStages, |
24 | 24 | CompressorWithTurbine, |
25 | | - SingleSpeedCompressorTrain, |
26 | 25 | VariableSpeedCompressorTrain, |
27 | 26 | VariableSpeedCompressorTrainMultipleStreamsAndPressures, |
28 | 27 | ) |
| 28 | +from libecalc.domain.process.compressor.dto.model_types import CompressorModelTypes |
29 | 29 | from libecalc.domain.process.compressor.dto.model_types import CompressorModelTypes as CompressorModelDTO |
30 | 30 | from libecalc.domain.process.value_objects.fluid_stream.fluid_factory import FluidFactoryInterface |
31 | 31 | from libecalc.domain.process.value_objects.fluid_stream.fluid_model import FluidModel |
@@ -88,10 +88,16 @@ def _create_turbine(turbine_dto: Turbine) -> Turbine: |
88 | 88 | def _create_compressor_with_turbine( |
89 | 89 | compressor_model_dto: CompressorWithTurbine, |
90 | 90 | ) -> CompressorWithTurbineModel: |
91 | | - if isinstance(compressor_model_dto, SingleSpeedCompressorTrain): |
92 | | - compressor_model = compressor_model_dto |
| 91 | + compressor_train = compressor_model_dto.compressor_train |
| 92 | + if isinstance(compressor_model_dto.compressor_train, CompressorModel): |
| 93 | + compressor_model = compressor_train |
| 94 | + elif isinstance(compressor_train, get_args(CompressorModelTypes)): |
| 95 | + compressor_model = create_compressor_model(compressor_train) |
93 | 96 | else: |
94 | | - compressor_model = create_compressor_model(compressor_model_dto) |
| 97 | + raise TypeError(f"Invalid type for compressor_train: {type(compressor_train)}") |
| 98 | + |
| 99 | + assert isinstance(compressor_model, CompressorModel) |
| 100 | + |
95 | 101 | return CompressorWithTurbineModel( |
96 | 102 | energy_usage_adjustment_constant=compressor_model_dto.energy_usage_adjustment_constant, |
97 | 103 | energy_usage_adjustment_factor=compressor_model_dto.energy_usage_adjustment_factor, |
|
0 commit comments