@@ -225,6 +225,9 @@ def __init__(
225225 logger .setLevel (self .log_level )
226226 logger .info (f"Starting the logger at level { self .log_level } for module { __name__ } :" )
227227
228+ # if the key "spot_writer" is not in the dictionary fun_control,
229+ # set self.spot_writer to None else to the value of the key "spot_writer"
230+ self .spot_writer = fun_control .get ("spot_writer" , None )
228231 self .surrogate_control .update (surrogate_control )
229232 # If no surrogate model is specified, use the internal
230233 # spotPython kriging surrogate:
@@ -245,7 +248,7 @@ def __init__(
245248 cod_type = self .surrogate_control ["cod_type" ],
246249 var_type = self .surrogate_control ["var_type" ],
247250 use_cod_y = self .surrogate_control ["use_cod_y" ],
248- spot_writer = self .fun_control [ " spot_writer" ] ,
251+ spot_writer = self .spot_writer ,
249252 counter = self .design_control ["init_size" ] * self .design_control ["repeats" ] - 1 ,
250253 )
251254 # Optimizer related information:
@@ -337,8 +340,8 @@ def run(self, X_start=None):
337340 self .fit_surrogate ()
338341 # progress bar:
339342 self .show_progress_if_needed (timeout_start )
340- if self .fun_control [ " spot_writer" ] is not None :
341- writer = self .fun_control [ " spot_writer" ]
343+ if self .spot_writer is not None :
344+ writer = self .spot_writer
342345 writer .close ()
343346 return self
344347
@@ -422,8 +425,8 @@ def update_stats(self):
422425 self .var_y = Z [2 ]
423426 self .min_mean_y = min (self .mean_y )
424427 self .min_mean_X = self .mean_X [argmin (self .mean_y )]
425- if self .fun_control [ " spot_writer" ] is not None :
426- writer = self .fun_control [ " spot_writer" ]
428+ if self .spot_writer is not None :
429+ writer = self .spot_writer
427430 y_min = self .min_y .copy ()
428431 y_last = self .last_y .copy ()
429432 X_min = self .min_X .copy ()
0 commit comments