Skip to content

Commit 1ffbfad

Browse files
committed
Merge branch 'ModelicaSystem_requestApi' into merge_me
2 parents 1a9ca9d + 1d045e0 commit 1ffbfad

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ def _loadLibrary(self, lmodel: list):
392392
apiCall = "loadFile"
393393
else:
394394
apiCall = "loadModel"
395-
self._requestApi(apiCall, element)
395+
self._requestApi(apiName=apiCall, entity=element)
396396
elif isinstance(element, tuple):
397397
if not element[1]:
398398
expr_load_lib = f"loadModel({element[0]})"
@@ -444,7 +444,7 @@ def buildModel(self, variableFilter: Optional[str] = None):
444444
else:
445445
varFilter = 'variableFilter=".*"'
446446

447-
buildModelResult = self._requestApi("buildModel", self._model_name, properties=varFilter)
447+
buildModelResult = self._requestApi(apiName="buildModel", entity=self._model_name, properties=varFilter)
448448
logger.debug("OM model build result: %s", buildModelResult)
449449

450450
# check if the executable exists ...
@@ -464,7 +464,7 @@ def buildModel(self, variableFilter: Optional[str] = None):
464464
xml_file = self._getconn.omcpath(buildModelResult[0]).parent / buildModelResult[1]
465465
self._xmlparse(xml_file=xml_file)
466466

467-
def sendExpression(self, expr: str, parsed: bool = True):
467+
def sendExpression(self, expr: str, parsed: bool = True) -> Any:
468468
try:
469469
retval = self._getconn.sendExpression(expr, parsed)
470470
except OMCSessionException as ex:
@@ -475,7 +475,12 @@ def sendExpression(self, expr: str, parsed: bool = True):
475475
return retval
476476

477477
# request to OMC
478-
def _requestApi(self, apiName, entity=None, properties=None): # 2
478+
def _requestApi(
479+
self,
480+
apiName: str,
481+
entity: Optional[str] = None,
482+
properties: Optional[str] = None,
483+
) -> Any:
479484
if entity is not None and properties is not None:
480485
exp = f'{apiName}({entity}, {properties})'
481486
elif entity is not None and properties is None:
@@ -1456,8 +1461,9 @@ def convertMo2Fmu(self, version: str = "2.0", fmuType: str = "me_cs",
14561461
includeResourcesStr = "true"
14571462
else:
14581463
includeResourcesStr = "false"
1459-
properties = f'version="{version}", fmuType="{fmuType}", fileNamePrefix="{fileNamePrefix}", includeResources={includeResourcesStr}'
1460-
fmu = self._requestApi('buildModelFMU', self._model_name, properties)
1464+
properties = (f'version="{version}", fmuType="{fmuType}", '
1465+
f'fileNamePrefix="{fileNamePrefix}", includeResources={includeResourcesStr}')
1466+
fmu = self._requestApi(apiName='buildModelFMU', entity=self._model_name, properties=properties)
14611467

14621468
# report proper error message
14631469
if not os.path.exists(fmu):
@@ -1474,7 +1480,7 @@ def convertFmu2Mo(self, fmuName): # 20
14741480
>>> convertFmu2Mo("c:/BouncingBall.Fmu")
14751481
"""
14761482

1477-
fileName = self._requestApi('importFMU', fmuName)
1483+
fileName = self._requestApi(apiName='importFMU', entity=fmuName)
14781484

14791485
# report proper error message
14801486
if not os.path.exists(fileName):
@@ -1512,7 +1518,7 @@ def optimize(self) -> dict[str, Any]:
15121518
cName = self._model_name
15131519
properties = ','.join(f"{key}={val}" for key, val in self._optimization_options.items())
15141520
self.setCommandLineOptions("-g=Optimica")
1515-
optimizeResult = self._requestApi('optimize', cName, properties)
1521+
optimizeResult = self._requestApi(apiName='optimize', entity=cName, properties=properties)
15161522

15171523
return optimizeResult
15181524

0 commit comments

Comments
 (0)