From 8f8dfe003eac15e80a09d86f09cd471422467a45 Mon Sep 17 00:00:00 2001 From: arun3688 Date: Wed, 15 Jun 2022 20:39:27 +0200 Subject: [PATCH 1/2] support variableFilter to ModelicaSystem --- OMPython/__init__.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/OMPython/__init__.py b/OMPython/__init__.py index 85bc865f..dc6be011 100755 --- a/OMPython/__init__.py +++ b/OMPython/__init__.py @@ -788,7 +788,7 @@ def sendExpression(self, command, parsed=True): class ModelicaSystem(object): - def __init__(self, fileName=None, modelName=None, lmodel=[], useCorba=False, commandLineOptions=None): # 1 + def __init__(self, fileName=None, modelName=None, lmodel=[], useCorba=False, commandLineOptions=None, variableFilter=None): # 1 """ "constructor" It initializes to load file and build a model, generating object, exe, xml, mat, and json files. etc. It can be called : @@ -846,6 +846,8 @@ def __init__(self, fileName=None, modelName=None, lmodel=[], useCorba=False, com self.outputFlag = False self.csvFile = '' # for storing inputs condition self.resultfile="" # for storing result file + self.variableFilter = variableFilter + if not os.path.exists(self.fileName): # if file does not eixt print("File Error:" + os.path.abspath(self.fileName) + " does not exist!!!") return @@ -920,9 +922,17 @@ def __loadingModel(self): print(loadmodelError) self.buildModel() - def buildModel(self): + def buildModel(self, variableFilter=None): + if variableFilter is not None: + self.variableFilter = variableFilter + + if self.variableFilter is not None: + varFilter = "variableFilter=" + "\"" + self.variableFilter + "\"" + else: + varFilter = ".*" + # buildModelResult=self.getconn.sendExpression("buildModel("+ mName +")") - buildModelResult = self.requestApi("buildModel", self.modelName) + buildModelResult = self.requestApi("buildModel", self.modelName, properties=varFilter) buildModelError = self.requestApi("getErrorString") # Issue #145. Always print the getErrorString since it might contains build warnings. if buildModelError: From 111eb3ad50ace0a85e3619367389a134f51b7043 Mon Sep 17 00:00:00 2001 From: arun3688 Date: Wed, 15 Jun 2022 20:56:49 +0200 Subject: [PATCH 2/2] fix varFilter --- OMPython/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OMPython/__init__.py b/OMPython/__init__.py index dc6be011..82c20e45 100755 --- a/OMPython/__init__.py +++ b/OMPython/__init__.py @@ -929,8 +929,8 @@ def buildModel(self, variableFilter=None): if self.variableFilter is not None: varFilter = "variableFilter=" + "\"" + self.variableFilter + "\"" else: - varFilter = ".*" - + varFilter = "variableFilter=" + "\".*""\"" + # print(varFilter) # buildModelResult=self.getconn.sendExpression("buildModel("+ mName +")") buildModelResult = self.requestApi("buildModel", self.modelName, properties=varFilter) buildModelError = self.requestApi("getErrorString")