From 9bd8c6089034c109a0613e96370be935dcadb50d Mon Sep 17 00:00:00 2001 From: syntron Date: Sat, 18 Oct 2025 12:40:38 +0200 Subject: [PATCH 1/2] [ModelicaSystem] do not use elif after return / raise --- OMPython/ModelicaSystem.py | 123 ++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/OMPython/ModelicaSystem.py b/OMPython/ModelicaSystem.py index d4105ea3b..024090778 100644 --- a/OMPython/ModelicaSystem.py +++ b/OMPython/ModelicaSystem.py @@ -723,40 +723,37 @@ def getContinuous(self, names: Optional[str | list[str]] = None): if not self._simulated: if names is None: return self._continuous - if isinstance(names, str): return [self._continuous[names]] - if isinstance(names, list): return [self._continuous[x] for x in names] - else: - if names is None: - for i in self._continuous: - try: - value = self.getSolutions(i) - self._continuous[i] = value[0][-1] - except (OMCSessionException, ModelicaSystemError) as ex: - raise ModelicaSystemError(f"{i} could not be computed") from ex - return self._continuous - if isinstance(names, str): - if names in self._continuous: - value = self.getSolutions(names) - self._continuous[names] = value[0][-1] - return [self._continuous[names]] - else: - raise ModelicaSystemError(f"{names} is not continuous") + if names is None: + for name in self._continuous: + try: + value = self.getSolutions(name) + self._continuous[name] = value[0][-1] + except (OMCSessionException, ModelicaSystemError) as ex: + raise ModelicaSystemError(f"{name} could not be computed") from ex + return self._continuous - if isinstance(names, list): - valuelist = [] - for i in names: - if i in self._continuous: - value = self.getSolutions(i) - self._continuous[i] = value[0][-1] - valuelist.append(value[0][-1]) - else: - raise ModelicaSystemError(f"{i} is not continuous") - return valuelist + if isinstance(names, str): + if names in self._continuous: + value = self.getSolutions(names) + self._continuous[names] = value[0][-1] + return [self._continuous[names]] + raise ModelicaSystemError(f"{names} is not continuous") + + if isinstance(names, list): + valuelist = [] + for name in names: + if name in self._continuous: + value = self.getSolutions(name) + self._continuous[name] = value[0][-1] + valuelist.append(value[0][-1]) + else: + raise ModelicaSystemError(f"{name} is not continuous") + return valuelist raise ModelicaSystemError("Unhandled input for getContinous()") @@ -784,9 +781,9 @@ def getParameters(self, names: Optional[str | list[str]] = None) -> dict[str, st """ if names is None: return self._params - elif isinstance(names, str): + if isinstance(names, str): return [self._params[names]] - elif isinstance(names, list): + if isinstance(names, list): return [self._params[x] for x in names] raise ModelicaSystemError("Unhandled input for getParameters()") @@ -818,9 +815,9 @@ def getInputs(self, names: Optional[str | list[str]] = None) -> dict | list: # """ if names is None: return self._inputs - elif isinstance(names, str): + if isinstance(names, str): return [self._inputs[names]] - elif isinstance(names, list): + if isinstance(names, list): return [self._inputs[x] for x in names] raise ModelicaSystemError("Unhandled input for getInputs()") @@ -863,33 +860,33 @@ def getOutputs(self, names: Optional[str | list[str]] = None): # 7 if not self._simulated: if names is None: return self._outputs - elif isinstance(names, str): + if isinstance(names, str): return [self._outputs[names]] - else: - return [self._outputs[x] for x in names] - else: - if names is None: - for i in self._outputs: - value = self.getSolutions(i) - self._outputs[i] = value[0][-1] - return self._outputs - elif isinstance(names, str): - if names in self._outputs: - value = self.getSolutions(names) - self._outputs[names] = value[0][-1] - return [self._outputs[names]] + return [self._outputs[x] for x in names] + + if names is None: + for name in self._outputs: + value = self.getSolutions(name) + self._outputs[name] = value[0][-1] + return self._outputs + + if isinstance(names, str): + if names in self._outputs: + value = self.getSolutions(names) + self._outputs[names] = value[0][-1] + return [self._outputs[names]] + raise KeyError(names) + + if isinstance(names, list): + valuelist = [] + for name in names: + if name in self._outputs: + value = self.getSolutions(name) + self._outputs[name] = value[0][-1] + valuelist.append(value[0][-1]) else: - raise KeyError(names) - elif isinstance(names, list): - valuelist = [] - for i in names: - if i in self._outputs: - value = self.getSolutions(i) - self._outputs[i] = value[0][-1] - valuelist.append(value[0][-1]) - else: - raise KeyError(i) - return valuelist + raise KeyError(name) + return valuelist raise ModelicaSystemError("Unhandled input for getOutputs()") @@ -919,9 +916,9 @@ def getSimulationOptions(self, names: Optional[str | list[str]] = None) -> dict[ """ if names is None: return self._simulate_options - elif isinstance(names, str): + if isinstance(names, str): return [self._simulate_options[names]] - elif isinstance(names, list): + if isinstance(names, list): return [self._simulate_options[x] for x in names] raise ModelicaSystemError("Unhandled input for getSimulationOptions()") @@ -954,9 +951,9 @@ def getLinearizationOptions(self, names: Optional[str | list[str]] = None) -> di """ if names is None: return self._linearization_options - elif isinstance(names, str): + if isinstance(names, str): return [self._linearization_options[names]] - elif isinstance(names, list): + if isinstance(names, list): return [self._linearization_options[x] for x in names] raise ModelicaSystemError("Unhandled input for getLinearizationOptions()") @@ -989,9 +986,9 @@ def getOptimizationOptions(self, names: Optional[str | list[str]] = None) -> dic """ if names is None: return self._optimization_options - elif isinstance(names, str): + if isinstance(names, str): return [self._optimization_options[names]] - elif isinstance(names, list): + if isinstance(names, list): return [self._optimization_options[x] for x in names] raise ModelicaSystemError("Unhandled input for getOptimizationOptions()") From 5727b528068fd8f251a237866dfbfdc4802168a8 Mon Sep 17 00:00:00 2001 From: syntron Date: Thu, 30 Oct 2025 23:19:22 +0100 Subject: [PATCH 2/2] [OMCSessionZMQ] do not use elif after return / raise --- OMPython/OMCSession.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OMPython/OMCSession.py b/OMPython/OMCSession.py index 2f2af10d5..9d77cc8d3 100644 --- a/OMPython/OMCSession.py +++ b/OMPython/OMCSession.py @@ -639,7 +639,8 @@ def sendExpression(self, command: str, parsed: bool = True) -> Any: # see: https://build.openmodelica.org/Documentation/OpenModelica.Scripting.ErrorLevel.html if log_level == 'error': raise OMCSessionException(msg) - elif log_level == 'warning': + + if log_level == 'warning': logger.warning(msg) elif log_level == 'notification': logger.info(msg)