Skip to content

Commit e34ece3

Browse files
committed
[ModelicaSystem] improve setInputs() - reduce spaces / cleanup
1 parent 977b49d commit e34ece3

1 file changed

Lines changed: 29 additions & 28 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1344,36 +1344,37 @@ def setInputs(
13441344
inputdata = self._prepare_input_data(raw_input=name)
13451345

13461346
for key, val in inputdata.items():
1347-
if key in self._inputs:
1348-
if not isinstance(val, str):
1349-
raise ModelicaSystemError(f"Invalid data in input for {repr(key)}: {repr(val)}")
1350-
1351-
val_evaluated = ast.literal_eval(val)
1352-
1353-
if isinstance(val_evaluated, (int, float)):
1354-
self._inputs[key] = [(float(self._simulate_options["startTime"]), float(val)),
1355-
(float(self._simulate_options["stopTime"]), float(val))]
1356-
elif isinstance(val_evaluated, list):
1357-
if not all([isinstance(item, tuple) for item in val_evaluated]):
1358-
raise ModelicaSystemError("Value for setInput() must be in tuple format; "
1359-
f"got {repr(val_evaluated)}")
1360-
if val_evaluated != sorted(val_evaluated, key=lambda x: x[0]):
1361-
raise ModelicaSystemError("Time value should be in increasing order; "
1362-
f"got {repr(val_evaluated)}")
1363-
1364-
for item in val_evaluated:
1365-
if item[0] < float(self._simulate_options["startTime"]):
1366-
raise ModelicaSystemError(f"Time value in {repr(item)} of {repr(val_evaluated)} is less "
1367-
"than the simulation start time")
1368-
if len(item) != 2:
1369-
raise ModelicaSystemError(f"Value {repr(item)} of {repr(val_evaluated)} "
1370-
"is in incorrect format!")
1371-
1372-
self._inputs[key] = val_evaluated
1373-
self._inputFlag = True
1374-
else:
1347+
if key not in self._inputs:
13751348
raise ModelicaSystemError(f"{key} is not an input")
13761349

1350+
if not isinstance(val, str):
1351+
raise ModelicaSystemError(f"Invalid data in input for {repr(key)}: {repr(val)}")
1352+
1353+
val_evaluated = ast.literal_eval(val)
1354+
1355+
if isinstance(val_evaluated, (int, float)):
1356+
self._inputs[key] = [(float(self._simulate_options["startTime"]), float(val)),
1357+
(float(self._simulate_options["stopTime"]), float(val))]
1358+
elif isinstance(val_evaluated, list):
1359+
if not all([isinstance(item, tuple) for item in val_evaluated]):
1360+
raise ModelicaSystemError("Value for setInput() must be in tuple format; "
1361+
f"got {repr(val_evaluated)}")
1362+
if val_evaluated != sorted(val_evaluated, key=lambda x: x[0]):
1363+
raise ModelicaSystemError("Time value should be in increasing order; "
1364+
f"got {repr(val_evaluated)}")
1365+
1366+
for item in val_evaluated:
1367+
if item[0] < float(self._simulate_options["startTime"]):
1368+
raise ModelicaSystemError(f"Time value in {repr(item)} of {repr(val_evaluated)} is less "
1369+
"than the simulation start time")
1370+
if len(item) != 2:
1371+
raise ModelicaSystemError(f"Value {repr(item)} of {repr(val_evaluated)} "
1372+
"is in incorrect format!")
1373+
1374+
self._inputs[key] = val_evaluated
1375+
else:
1376+
raise ModelicaSystemError(f"Data cannot be evaluated for {repr(key)}: {repr(val)}")
1377+
13771378
return True
13781379

13791380
def _createCSVData(self) -> pathlib.Path:

0 commit comments

Comments
 (0)