From 236ea624626c89a7852ef8e383ef084c1ef2f2c6 Mon Sep 17 00:00:00 2001 From: arun3688 Date: Mon, 25 Mar 2024 11:44:11 +0100 Subject: [PATCH] add support to custombuildDirectory --- OMPython/__init__.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/OMPython/__init__.py b/OMPython/__init__.py index dc929f880..82ea1fa4b 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, variableFilter=None, verbose=True): # 1 + def __init__(self, fileName=None, modelName=None, lmodel=[], useCorba=False, commandLineOptions=None, variableFilter=None, customBuildDirectory=None, verbose=True): # 1 """ "constructor" It initializes to load file and build a model, generating object, exe, xml, mat, and json files. etc. It can be called : @@ -856,7 +856,7 @@ def __init__(self, fileName=None, modelName=None, lmodel=[], useCorba=False, com self.getconn.sendExpression("setCommandLineOptions(\"--linearizationDumpLanguage=python\")") self.getconn.sendExpression("setCommandLineOptions(\"--generateSymbolicLinearization\")") - self.setTempDirectory() + self.setTempDirectory(customBuildDirectory) if fileName is not None: self.loadFile(verbose) @@ -910,11 +910,16 @@ def loadLibrary(self, verbose): if verbose or not result: print(self.requestApi('getErrorString')) - def setTempDirectory(self): + def setTempDirectory(self, customBuildDirectory): # create a unique temp directory for each session and build the model in that directory - self.tempdir = tempfile.mkdtemp() - if not os.path.exists(self.tempdir): - return print(self.tempdir, " cannot be created") + if customBuildDirectory is not None: + if not os.path.exists(customBuildDirectory): + print(customBuildDirectory, " does not exist") + self.tempdir = customBuildDirectory + else: + self.tempdir = tempfile.mkdtemp() + if not os.path.exists(self.tempdir): + print(self.tempdir, " cannot be created") exp="".join(["cd(","\"",self.tempdir,"\"",")"]).replace("\\","/") self.getconn.sendExpression(exp)