@@ -242,14 +242,26 @@ async def pass_proc_params_to_instrument_server(
242242):
243243 session = db .exec (select (Session ).where (Session .id == session_id )).one ()
244244
245- session_processing_parameters = SessionProcessingParameters (
246- session_id = session_id ,
247- dose_per_frame = proc_params .dose_per_frame ,
248- gain_ref = session .current_gain_ref ,
249- symmetry = proc_params .symmetry ,
250- eer_fractionation = proc_params .eer_fractionation ,
251- run_class3d = proc_params .run_class3d ,
252- )
245+ existing_parameters = db .exec (
246+ select (SessionProcessingParameters ).where (
247+ SessionProcessingParameters .session_id == session_id
248+ )
249+ ).all ()
250+ if not existing_parameters :
251+ session_processing_parameters = SessionProcessingParameters (
252+ session_id = session_id ,
253+ dose_per_frame = proc_params .dose_per_frame ,
254+ gain_ref = session .current_gain_ref ,
255+ symmetry = proc_params .symmetry ,
256+ eer_fractionation = proc_params .eer_fractionation ,
257+ run_class3d = proc_params .run_class3d ,
258+ )
259+ else :
260+ session_processing_parameters = existing_parameters [0 ]
261+ session_processing_parameters .dose_per_frame = proc_params .dose_per_frame
262+ session_processing_parameters .eer_fractionation = proc_params .eer_fractionation
263+ session_processing_parameters .symmetry = proc_params .symmetry
264+ session_processing_parameters .run_class3d = proc_params .run_class3d
253265 db .add (session_processing_parameters )
254266 db .commit ()
255267
0 commit comments