Skip to content

Commit f2da100

Browse files
committed
[ModelicaSystem] cleanup getSolutions()
1 parent d585207 commit f2da100

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -950,22 +950,26 @@ def getSolutions(self, varList=None, resultfile=None): # 12
950950
>>> getSolutions(["Name1","Name2"],resultfile=""c:/a.mat"")
951951
"""
952952
if resultfile is None:
953-
resFile = self.resultfile.as_posix()
953+
result_file = self.resultfile
954954
else:
955-
resFile = resultfile
955+
result_file = pathlib.Path(resultfile)
956956

957957
# check for result file exits
958-
if not os.path.exists(resFile):
959-
raise ModelicaSystemError(f"Result file does not exist {resFile}")
960-
resultVars = self.sendExpression(f'readSimulationResultVars("{resFile}")')
958+
if not result_file.is_file():
959+
raise ModelicaSystemError(f"Result file does not exist {result_file}")
960+
961+
# get absolute path
962+
result_file = result_file.absolute()
963+
964+
resultVars = self.sendExpression(f'readSimulationResultVars("{result_file.as_posix()}")')
961965
self.sendExpression("closeSimulationResultFile()")
962966
if varList is None:
963967
return resultVars
964968

965969
if isinstance(varList, str):
966970
if varList not in resultVars and varList != "time":
967971
raise ModelicaSystemError(f"Requested data {repr(varList)} does not exist")
968-
res = self.sendExpression(f'readSimulationResult("{resFile}", {{{varList}}})')
972+
res = self.sendExpression(f'readSimulationResult("{result_file.as_posix()}", {{{varList}}})')
969973
npRes = np.array(res)
970974
self.sendExpression("closeSimulationResultFile()")
971975
return npRes
@@ -977,7 +981,7 @@ def getSolutions(self, varList=None, resultfile=None): # 12
977981
if var not in resultVars:
978982
raise ModelicaSystemError(f"Requested data {repr(var)} does not exist")
979983
variables = ",".join(varList)
980-
res = self.sendExpression(f'readSimulationResult("{resFile}",{{{variables}}})')
984+
res = self.sendExpression(f'readSimulationResult("{result_file.as_posix()}",{{{variables}}})')
981985
npRes = np.array(res)
982986
self.sendExpression("closeSimulationResultFile()")
983987
return npRes

0 commit comments

Comments
 (0)