Skip to content

Commit 675a648

Browse files
committed
[ModelicaSystem] improve setInputs() - reduce spaces / cleanup
1 parent bbd8740 commit 675a648

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
@@ -1348,36 +1348,37 @@ def setInputs(
13481348
inputdata = self._prepare_input_data(raw_input=name)
13491349

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

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

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

0 commit comments

Comments
 (0)