Skip to content

Commit 6e22dd3

Browse files
committed
Need to check if proc params exist and update if so
1 parent f5e0c7c commit 6e22dd3

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/murfey/server/api/instrument.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)