Skip to content

Commit dc85d91

Browse files
committed
Check version
1 parent cc27a52 commit dc85d91

1 file changed

Lines changed: 27 additions & 6 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import numpy as np
2121

22+
import re
23+
2224
from OMPython.OMCSession import (
2325
OMCSessionException,
2426
OMCSessionRunData,
@@ -1068,13 +1070,32 @@ def simulate_cmd(
10681070
# simulation options are not added to override file anymore
10691071
# pass them to simulation executable directly as individual arguments
10701072
# see https://github.com/OpenModelica/OpenModelica/pull/14813
1071-
for key, opt_value in self._simulate_options_override.items():
1072-
om_cmd.arg_set(key=key, val=str(opt_value))
10731073

1074-
override_content = (
1075-
"\n".join([f"{key}={value}" for key, value in self._override_variables.items()])
1076-
+ "\n"
1077-
)
1074+
1075+
version = self._session.sendExpression("getVersion()", parsed=True)
1076+
print(f"OpenModelica version string: {version}")
1077+
1078+
m = re.search(r"v(\d+)\.(\d+)\.(\d+)", s)
1079+
if not m:
1080+
raise ValueError("Version not found")
1081+
1082+
major, minor, patch = map(int, m.groups())
1083+
1084+
if (major, minor, patch) > (1, 25, 0):
1085+
print("Version > 1.27.0")
1086+
for key, opt_value in self._simulate_options_override.items():
1087+
om_cmd.arg_set(key=key, val=str(opt_value))
1088+
override_content = (
1089+
"\n".join([f"{key}={value}" for key, value in self._override_variables.items()])
1090+
+ "\n"
1091+
)
1092+
else:
1093+
print("Version < 1.27.0")
1094+
override_content = (
1095+
"\n".join([f"{key}={value}" for key, value in self._override_variables.items()])
1096+
+ "\n".join([f"{key}={value}" for key, value in self._simulate_options_override.items()])
1097+
+ "\n"
1098+
)
10781099

10791100
override_file.write_text(override_content)
10801101
om_cmd.arg_set(key="overrideFile", val=override_file.as_posix())

0 commit comments

Comments
 (0)