Skip to content

Commit 17aca93

Browse files
committed
Add process column to Session table to record if processing is requested or not
1 parent 88a6f93 commit 17aca93

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

src/murfey/server/api/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1973,6 +1973,17 @@ def create_session(instrument_name: str, visit: str, name: str, db=murfey_db) ->
19731973
return sid
19741974

19751975

1976+
@router.post("/sessions/{session_id}")
1977+
def update_session(
1978+
session_id: MurfeySessionID, process: bool = True, db=murfey_db
1979+
) -> None:
1980+
session = db.exec(select(Session).where(session_id == session_id)).one()
1981+
session.process = process
1982+
db.add(session)
1983+
db.commit()
1984+
return None
1985+
1986+
19761987
@router.put("/sessions/{session_id}/current_gain_ref")
19771988
def update_current_gain_ref(
19781989
session_id: MurfeySessionID, new_gain_ref: CurrentGainRef, db=murfey_db

src/murfey/server/api/processing_parameters.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from logging import getLogger
22
from typing import Optional
33

4+
import sqlalchemy
45
from fastapi import APIRouter, Depends
56
from pydantic import BaseModel
67
from sqlmodel import Session, select
@@ -24,12 +25,15 @@ class EditableSessionProcessingParameters(BaseModel):
2425
@router.get("/sessions/{session_id}/session_processing_parameters")
2526
def get_session_processing_parameters(
2627
session_id: MurfeySessionID, db: Session = murfey_db
27-
) -> EditableSessionProcessingParameters:
28-
proc_params = db.exec(
29-
select(SessionProcessingParameters).where(
30-
SessionProcessingParameters.session_id == session_id
31-
)
32-
).one()
28+
) -> Optional[EditableSessionProcessingParameters]:
29+
try:
30+
proc_params = db.exec(
31+
select(SessionProcessingParameters).where(
32+
SessionProcessingParameters.session_id == session_id
33+
)
34+
).one()
35+
except sqlalchemy.exc.NoResultFound:
36+
return None
3337
return EditableSessionProcessingParameters(
3438
gain_ref=proc_params.gain_ref,
3539
dose_per_frame=proc_params.dose_per_frame,

src/murfey/util/db.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class Session(SQLModel, table=True): # type: ignore
4848
started: bool = Field(default=False)
4949
current_gain_ref: str = Field(default="")
5050
instrument_name: str = Field(default="")
51+
process: bool = Field(default=True)
5152

5253
# CLEM Workflow
5354

0 commit comments

Comments
 (0)