Skip to content

Commit eed5e14

Browse files
committed
??? fix rebase fallout
1 parent 2418ce6 commit eed5e14

2 files changed

Lines changed: 18 additions & 17 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
OMCSessionRunData,
5353
OMCSessionZMQ,
5454
OMCProcess,
55+
OMCProcessLocal,
5556
OMCPath,
5657
)
5758

@@ -323,13 +324,10 @@ def parse_simflags(simflags: str) -> dict[str, Optional[str | dict[str, Any] | n
323324
class ModelicaSystem:
324325
def __init__(
325326
self,
326-
fileName: Optional[str | os.PathLike] = None,
327-
modelName: Optional[str] = None,
328-
lmodel: Optional[list[str | tuple[str, str]]] = None,
329327
commandLineOptions: Optional[list[str]] = None,
330328
customBuildDirectory: Optional[str | os.PathLike] = None,
331329
omhome: Optional[str] = None,
332-
omc_process: Optional[OMCProcessLocal] = None,
330+
omc_process: Optional[OMCProcess] = None,
333331
) -> None:
334332
"""Create a ModelicaSystem instance. To define the model use model() or convertFmu2Mo().
335333
@@ -379,9 +377,9 @@ def __init__(
379377
self.setCommandLineOptions(commandLineOptions=opt)
380378

381379
self._simulated = False # True if the model has already been simulated
382-
self._result_file: Optional[pathlib.Path] = None # for storing result file
380+
self._result_file: Optional[OMCPath] = None # for storing result file
383381

384-
self._work_dir: pathlib.Path = self.setWorkDirectory(customBuildDirectory)
382+
self._work_dir: OMCPath = self.setWorkDirectory(customBuildDirectory)
385383

386384
self._model_name: Optional[str] = None
387385
self._libraries: Optional[list[str | tuple[str, str]]] = None
@@ -391,7 +389,7 @@ def __init__(
391389
def model(
392390
self,
393391
name: str,
394-
file: Optional[str | os.PathLike | pathlib.Path] = None,
392+
file: Optional[str | os.PathLike] = None,
395393
libraries: Optional[list[str | tuple[str, str]]] = None,
396394
variable_filter: Optional[str] = None,
397395
build: bool = True,
@@ -441,7 +439,7 @@ def model(
441439
# set variables
442440
self._model_name = name # Model class name
443441
self._libraries = libraries # may be needed if model is derived from other model
444-
self._file_name = pathlib.Path(file).resolve() if file is not None else None # Model file/package name
442+
self._file_name = self._session.omcpath(file).resolve() if file is not None else None # Model file/package name
445443
self._variable_filter = variable_filter
446444

447445
if self._file_name is not None and not self._file_name.is_file(): # if file does not exist
@@ -1152,15 +1150,15 @@ def plot(
11521150
Plot a variable using OMC; this will work for local OMC usage only (OMCProcessLocal).
11531151
"""
11541152

1155-
if not isinstance(self._getconn.omc_process, OMCProcessLocal):
1153+
if not isinstance(self._session.omc_process, OMCProcessLocal):
11561154
raise ModelicaSystemError("Plot is using the OMC plot functionality; "
11571155
"thus, it is only working if OMC is running locally!")
11581156

11591157
plot_result_file = None
11601158
if resultfile is not None:
1161-
plot_result_file = pathlib.Path(resultfile)
1159+
plot_result_file = self._session.omcpath(resultfile)
11621160
elif self._result_file is not None:
1163-
plot_result_file = pathlib.Path(self._result_file)
1161+
plot_result_file = self._session.omcpath(self._result_file)
11641162
else:
11651163
raise ModelicaSystemError("No resultfile available - either run simulate() before plotting "
11661164
"or provide a result file!")
@@ -1921,18 +1919,21 @@ def __init__(
19211919
ModelicaSystem.simulate(). Additionally, the path to store the result files is needed (= resultpath) as well as
19221920
a list of parameters to vary for the Doe (= parameters). All possible combinations are considered.
19231921
"""
1922+
if modelName is None:
1923+
raise ModelicaSystemError("No model name provided!")
19241924

19251925
self._mod = ModelicaSystem(
1926-
fileName=fileName,
1927-
modelName=modelName,
1928-
lmodel=lmodel,
19291926
commandLineOptions=commandLineOptions,
1930-
variableFilter=variableFilter,
19311927
customBuildDirectory=customBuildDirectory,
19321928
omhome=omhome,
19331929
omc_process=omc_process,
19341930
)
1935-
1931+
self._mod.model(
1932+
file=fileName,
1933+
name=modelName,
1934+
libraries=lmodel,
1935+
variable_filter=variableFilter,
1936+
)
19361937
self._model_name = modelName
19371938

19381939
self._simargs = simargs

tests/test_ModelicaSystem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def test_customBuildDirectory(tmp_path, model_firstorder):
143143
file=filePath,
144144
name="M",
145145
)
146-
assert pathlib.Path(m.getWorkDirectory()).resolve() == tmpdir.resolve()
146+
assert pathlib.Path(mod.getWorkDirectory()).resolve() == tmpdir.resolve()
147147
result_file = tmpdir / "a.mat"
148148
assert not result_file.exists()
149149
mod.simulate(resultfile="a.mat")

0 commit comments

Comments
 (0)