Skip to content

Commit f9fbc35

Browse files
Update the visit complete button api call to remove the client id (#510)
1 parent 0563c8d commit f9fbc35

File tree

2 files changed

+25
-53
lines changed

2 files changed

+25
-53
lines changed

src/murfey/client/tui/app.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ async def action_quit(self) -> None:
690690

691691
async def action_remove_session(self) -> None:
692692
requests.delete(
693-
f"{self._environment.url.geturl()}/instruments/{self._environment.instrument_name}/clients/{self._environment.client_id}/session"
693+
f"{self._environment.url.geturl()}/sessions/{self._environment.murfey_session}"
694694
)
695695
if self.rsync_processes:
696696
for rp in self.rsync_processes.values():
@@ -704,7 +704,7 @@ async def action_remove_session(self) -> None:
704704

705705
def clean_up_quit(self) -> None:
706706
requests.delete(
707-
f"{self._environment.url.geturl()}/instruments/{self._environment.instrument_name}/clients/{self._environment.client_id}/session"
707+
f"{self._environment.url.geturl()}/sessions/{self._environment.murfey_session}"
708708
)
709709
self.exit()
710710

@@ -750,7 +750,7 @@ def _remove_data(self, listener: Callable[..., Awaitable[None] | None], **kwargs
750750
f"{self._environment.url.geturl()}/sessions/{self._environment.murfey_session}/successful_processing"
751751
)
752752
requests.delete(
753-
f"{self._environment.url.geturl()}/instruments/{self._environment.instrument_name}/clients/{self._environment.client_id}/session"
753+
f"{self._environment.url.geturl()}/sessions/{self._environment.murfey_session}"
754754
)
755755
self.exit()
756756

src/murfey/server/api/__init__.py

Lines changed: 22 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,6 +1522,28 @@ async def process_gain(
15221522
@router.delete("/sessions/{session_id}")
15231523
def remove_session_by_id(session_id: MurfeySessionID, db=murfey_db):
15241524
session = db.exec(select(Session).where(Session.id == session_id)).one()
1525+
prom.monitoring_switch.remove(session.visit)
1526+
rsync_instances = db.exec(
1527+
select(RsyncInstance).where(RsyncInstance.session_id == session_id)
1528+
).all()
1529+
for ri in rsync_instances:
1530+
prom.seen_files.remove(ri.source, session.visit)
1531+
prom.transferred_files.remove(ri.source, session.visit)
1532+
prom.transferred_files_bytes.remove(ri.source, session.visit)
1533+
prom.seen_data_files.remove(ri.source, session.visit)
1534+
prom.transferred_data_files.remove(ri.source, session.visit)
1535+
prom.transferred_data_files_bytes.remove(ri.source, session.visit)
1536+
collected_ids = db.exec(
1537+
select(DataCollectionGroup, DataCollection, ProcessingJob)
1538+
.where(DataCollectionGroup.session_id == session_id)
1539+
.where(DataCollection.dcg_id == DataCollectionGroup.id)
1540+
.where(ProcessingJob.dc_id == DataCollection.id)
1541+
).all()
1542+
for c in collected_ids:
1543+
try:
1544+
prom.preprocessed_movies.remove(c[2].id)
1545+
except KeyError:
1546+
continue
15251547
db.delete(session)
15261548
db.commit()
15271549
return
@@ -1725,56 +1747,6 @@ def register_processing_success_in_ispyb(
17251747
_transport_object.do_update_processing_status(updated)
17261748

17271749

1728-
@router.delete("/clients/{client_id}/session")
1729-
def remove_session(client_id: int, db=murfey_db):
1730-
client = db.exec(
1731-
select(ClientEnvironment).where(ClientEnvironment.client_id == client_id)
1732-
).one()
1733-
session_id = client.session_id
1734-
client.session_id = None
1735-
db.add(client)
1736-
db.commit()
1737-
if session_id is None:
1738-
return
1739-
prom.monitoring_switch.remove(client.visit)
1740-
rsync_instances = db.exec(
1741-
select(RsyncInstance).where(RsyncInstance.client_id == client_id)
1742-
).all()
1743-
for ri in rsync_instances:
1744-
prom.seen_files.remove(ri.source, client.visit)
1745-
prom.transferred_files.remove(ri.source, client.visit)
1746-
prom.transferred_files_bytes.remove(ri.source, client.visit)
1747-
prom.seen_data_files.remove(ri.source, client.visit)
1748-
prom.transferred_data_files.remove(ri.source, client.visit)
1749-
prom.transferred_data_files_bytes.remove(ri.source, client.visit)
1750-
collected_ids = db.exec(
1751-
select(DataCollectionGroup, DataCollection, ProcessingJob)
1752-
.where(DataCollectionGroup.session_id == session_id)
1753-
.where(DataCollection.dcg_id == DataCollectionGroup.id)
1754-
.where(ProcessingJob.dc_id == DataCollection.id)
1755-
).all()
1756-
for c in collected_ids:
1757-
try:
1758-
prom.preprocessed_movies.remove(c[2].id)
1759-
except KeyError:
1760-
continue
1761-
if (
1762-
len(
1763-
db.exec(
1764-
select(ClientEnvironment).where(
1765-
ClientEnvironment.session_id == session_id
1766-
)
1767-
).all()
1768-
)
1769-
> 1
1770-
):
1771-
return
1772-
session = db.exec(select(Session).where(Session.id == session_id)).one()
1773-
db.delete(session)
1774-
db.commit()
1775-
return
1776-
1777-
17781750
@router.post("/visits/{visit_name}/monitoring/{on}")
17791751
def change_monitoring_status(visit_name: str, on: int):
17801752
prom.monitoring_switch.labels(visit=visit_name)

0 commit comments

Comments
 (0)