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