Skip to content

Commit 97b16c8

Browse files
committed
More moving endpoints around
Calls to all these endpoints still need to be addressed
1 parent 8ee1de8 commit 97b16c8

File tree

4 files changed

+245
-176
lines changed

4 files changed

+245
-176
lines changed

src/murfey/server/api/__init__.py

Lines changed: 0 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@
100100
TiltSeriesGroupInfo,
101101
TiltSeriesInfo,
102102
TomoProcessFile,
103-
Visit,
104103
)
105104
from murfey.util.processing_params import default_spa_parameters
106105
from murfey.util.tomo import midpoint
@@ -341,28 +340,6 @@ def register_restarted_rsyncer(
341340
db.commit()
342341

343342

344-
@router.get("/sessions/{session_id}/rsyncers", response_model=List[RsyncInstance])
345-
def get_rsyncers_for_client(session_id: MurfeySessionID, db=murfey_db):
346-
rsync_instances = db.exec(
347-
select(RsyncInstance).where(RsyncInstance.session_id == session_id)
348-
)
349-
return rsync_instances.all()
350-
351-
352-
class SessionClients(BaseModel):
353-
session: Session
354-
clients: List[ClientEnvironment]
355-
356-
357-
@router.get("/session/{session_id}")
358-
async def get_session(session_id: MurfeySessionID, db=murfey_db) -> SessionClients:
359-
session = db.exec(select(Session).where(Session.id == session_id)).one()
360-
clients = db.exec(
361-
select(ClientEnvironment).where(ClientEnvironment.session_id == session_id)
362-
).all()
363-
return SessionClients(session=session, clients=clients)
364-
365-
366343
@router.post("/visits/{visit_name}/increment_rsync_file_count")
367344
def increment_rsync_file_count(
368345
visit_name: str, rsyncer_info: RsyncerInfo, db=murfey_db
@@ -429,53 +406,6 @@ class ProcessingDetails(BaseModel):
429406
feedback_params: SPAFeedbackParameters
430407

431408

432-
@router.get("/sessions/{session_id}/spa_processing_parameters")
433-
def get_spa_proc_param_details(
434-
session_id: MurfeySessionID, db=murfey_db
435-
) -> Optional[List[ProcessingDetails]]:
436-
params = db.exec(
437-
select(
438-
DataCollectionGroup,
439-
DataCollection,
440-
ProcessingJob,
441-
SPARelionParameters,
442-
SPAFeedbackParameters,
443-
)
444-
.where(DataCollectionGroup.session_id == session_id)
445-
.where(DataCollectionGroup.id == DataCollection.dcg_id)
446-
.where(DataCollection.id == ProcessingJob.dc_id)
447-
.where(SPARelionParameters.pj_id == ProcessingJob.id)
448-
.where(SPAFeedbackParameters.pj_id == ProcessingJob.id)
449-
).all()
450-
if not params:
451-
return None
452-
unique_dcg_indices = []
453-
dcg_ids = []
454-
for i, p in enumerate(params):
455-
if p[0].id not in dcg_ids:
456-
dcg_ids.append(p[0].id)
457-
unique_dcg_indices.append(i)
458-
459-
def _parse(ps, i, dcg_id):
460-
res = []
461-
for p in ps:
462-
if p[0].id == dcg_id:
463-
if p[i] not in res:
464-
res.append(p[i])
465-
return res
466-
467-
return [
468-
ProcessingDetails(
469-
data_collection_group=params[i][0],
470-
data_collections=_parse(params, 1, d),
471-
processing_jobs=_parse(params, 2, d),
472-
relion_params=_parse(params, 3, d)[0],
473-
feedback_params=_parse(params, 4, d)[0],
474-
)
475-
for i, d in zip(unique_dcg_indices, dcg_ids)
476-
]
477-
478-
479409
@router.post("/sessions/{session_id}/spa_processing_parameters")
480410
def register_spa_proc_params(
481411
session_id: MurfeySessionID, proc_params: ProcessingParametersSPA, db=murfey_db
@@ -841,23 +771,6 @@ def register_tilt_series_for_rerun(
841771
db.commit()
842772

843773

844-
@router.get("/sessions/{session_id}/tilt_series/{tilt_series_tag}/tilts")
845-
def get_tilts(session_id: MurfeySessionID, tilt_series_tag: str, db=murfey_db):
846-
res = db.exec(
847-
select(TiltSeries, Tilt)
848-
.where(TiltSeries.tag == tilt_series_tag)
849-
.where(TiltSeries.session_id == session_id)
850-
.where(Tilt.tilt_series_id == TiltSeries.id)
851-
).all()
852-
tilts: Dict[str, List[str]] = {}
853-
for el in res:
854-
if tilts.get(el[1].rsync_source):
855-
tilts[el[1].rsync_source].append(el[2].movie_path)
856-
else:
857-
tilts[el[1].rsync_source] = [el[2].movie_path]
858-
return tilts
859-
860-
861774
@router.post("/visits/{visit_name}/{session_id}/tilt")
862775
async def register_tilt(
863776
visit_name: str, session_id: MurfeySessionID, tilt_info: TiltInfo, db=murfey_db
@@ -890,11 +803,6 @@ def _add_tilt():
890803
_add_tilt()
891804

892805

893-
@router.get("/instruments/{instrument_name}/visits_raw", response_model=List[Visit])
894-
def get_current_visits(instrument_name: str, db=murfey.server.ispyb.DB):
895-
return murfey.server.ispyb.get_all_ongoing_visits(instrument_name, db)
896-
897-
898806
@router.get("/visit/{visit_name}/samples")
899807
def get_samples(visit_name: str, db=murfey.server.ispyb.DB) -> List[Sample]:
900808
return murfey.server.ispyb.get_sub_samples_from_visit(visit_name, db=db)
@@ -1350,26 +1258,6 @@ def make_rsyncer_destination(session_id: int, destination: Dest, db=murfey_db):
13501258
return destination
13511259

13521260

1353-
@router.get("/sessions/{session_id}/data_collection_groups")
1354-
def get_dc_groups(
1355-
session_id: MurfeySessionID, db=murfey_db
1356-
) -> Dict[str, DataCollectionGroup]:
1357-
data_collection_groups = db.exec(
1358-
select(DataCollectionGroup).where(DataCollectionGroup.session_id == session_id)
1359-
).all()
1360-
return {dcg.tag: dcg for dcg in data_collection_groups}
1361-
1362-
1363-
@router.get("/sessions/{session_id}/data_collection_groups/{dcgid}/data_collections")
1364-
def get_data_collections(
1365-
session_id: MurfeySessionID, dcgid: int, db=murfey_db
1366-
) -> List[DataCollection]:
1367-
data_collections = db.exec(
1368-
select(DataCollection).where(DataCollection.dcg_id == dcgid)
1369-
).all()
1370-
return data_collections
1371-
1372-
13731261
@router.post("/visits/{visit_name}/{session_id}/register_data_collection_group")
13741262
def register_dc_group(
13751263
visit_name, session_id: MurfeySessionID, dcg_params: DCGroupParameters, db=murfey_db
@@ -1787,48 +1675,6 @@ async def new_client_id(db=murfey_db):
17871675
return {"new_id": sorted_ids[-1] + 1}
17881676

17891677

1790-
@router.get("/clients")
1791-
async def get_clients(db=murfey_db):
1792-
clients = db.exec(select(ClientEnvironment)).all()
1793-
return clients
1794-
1795-
1796-
@router.get("/sessions")
1797-
async def get_sessions(db=murfey_db):
1798-
sessions = db.exec(select(Session)).all()
1799-
clients = db.exec(select(ClientEnvironment)).all()
1800-
res = []
1801-
for sess in sessions:
1802-
r = {"session": sess, "clients": []}
1803-
for cl in clients:
1804-
if cl.session_id == sess.id:
1805-
r["clients"].append(cl)
1806-
res.append(r)
1807-
return res
1808-
1809-
1810-
@router.get("/instruments/{instrument_name}/visits/{visit_name}/sessions")
1811-
def get_sessions_with_visit(
1812-
instrument_name: str, visit_name: str, db=murfey_db
1813-
) -> List[Session]:
1814-
sessions = db.exec(
1815-
select(Session)
1816-
.where(Session.instrument_name == instrument_name)
1817-
.where(Session.visit == visit_name)
1818-
).all()
1819-
return sessions
1820-
1821-
1822-
@router.get("/instruments/{instrument_name}/sessions")
1823-
async def get_sessions_by_instrument_name(
1824-
instrument_name: str, db=murfey_db
1825-
) -> List[Session]:
1826-
sessions = db.exec(
1827-
select(Session).where(Session.instrument_name == instrument_name)
1828-
).all()
1829-
return sessions
1830-
1831-
18321678
@router.post("/instruments/{instrument_name}/clients/{client_id}/session")
18331679
def link_client_to_session(
18341680
instrument_name: str, client_id: int, sess: SessionInfo, db=murfey_db

0 commit comments

Comments
 (0)