From 7f33ab331a6e2316c0b50270425634e92da636cf Mon Sep 17 00:00:00 2001 From: Yuxing Fei Date: Sun, 21 Dec 2025 10:41:09 -0800 Subject: [PATCH 1/2] Ensure resources are released after yielding devices and sample positions in lab_view.py --- alab_management/lab_view.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/alab_management/lab_view.py b/alab_management/lab_view.py index 04822718..e96cbe06 100644 --- a/alab_management/lab_view.py +++ b/alab_management/lab_view.py @@ -98,9 +98,10 @@ def request_resources( for device_type, device_name in devices.items() } # type: ignore self._task_view.update_status(task_id=self.task_id, status=TaskStatus.RUNNING) - yield devices, sample_positions - - self._resource_requester.release_resources(request_id=request_id) + try: + yield devices, sample_positions + finally: + self._resource_requester.release_resources(request_id=request_id) def _sample_name_to_id(self, sample_name: str) -> ObjectId: """ From f00a38f91f2f1216a859dd942d1b5678961e06fa Mon Sep 17 00:00:00 2001 From: Yuxing Fei Date: Sun, 21 Dec 2025 11:28:56 -0800 Subject: [PATCH 2/2] fix linting --- alab_management/dashboard/routes/experiment.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/alab_management/dashboard/routes/experiment.py b/alab_management/dashboard/routes/experiment.py index db793838..2f3dccb2 100644 --- a/alab_management/dashboard/routes/experiment.py +++ b/alab_management/dashboard/routes/experiment.py @@ -130,7 +130,7 @@ def query_experiment_results(exp_id: str): if experiment is None: return {"status": "error", "errors": "Cannot find experiment with this exp id"} - progress, error_state = get_experiment_progress(exp_id) + progress, _ = get_experiment_progress(exp_id) return_dict = { "id": str(experiment["_id"]), diff --git a/pyproject.toml b/pyproject.toml index 86f7a304..cbfbdc05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -172,7 +172,7 @@ select = [ "W", # pycodestyle "YTT", # flake8-2020 ] -ignore = ["B028", "PLW0603", "RUF013", "D100", "D404", "D401", "D205", "RUF100"] +ignore = ["B028", "PLW0603", "RUF013", "D100", "D404", "D401", "D205", "RUF100", "RUF059"] pydocstyle.convention = "numpy" [tool.ruff.lint.per-file-ignores]