@@ -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