From caaa89f908eead52739fb7bdd02b16d51cb3b584 Mon Sep 17 00:00:00 2001 From: yxd92326 Date: Mon, 14 Jul 2025 15:02:58 +0100 Subject: [PATCH 1/3] Do not error if the batch positions list is empty --- src/murfey/client/contexts/tomo_metadata.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/murfey/client/contexts/tomo_metadata.py b/src/murfey/client/contexts/tomo_metadata.py index a93a7b644..7890bba71 100644 --- a/src/murfey/client/contexts/tomo_metadata.py +++ b/src/murfey/client/contexts/tomo_metadata.py @@ -257,9 +257,12 @@ def post_transfer( for_parsing = xml.read() batch_xml = xmltodict.parse(for_parsing) - batch_positions_list = batch_xml["BatchPositionsList"]["BatchPositions"][ - "BatchPositionParameters" - ] + batch_positions_from_xml = batch_xml["BatchPositionsList"]["BatchPositions"] + if not batch_positions_from_xml: + logger.info("No batch positions yet") + return + + batch_positions_list = batch_positions_from_xml["BatchPositionParameters"] if isinstance(batch_positions_list, dict): # Case of a single batch batch_positions_list = [batch_positions_list] From 4da48300ccc01ea298878ecdd10370239bacc019 Mon Sep 17 00:00:00 2001 From: yxd92326 Date: Tue, 15 Jul 2025 08:30:33 +0100 Subject: [PATCH 2/3] Registering wrong data collection type --- src/murfey/client/contexts/tomo_metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/murfey/client/contexts/tomo_metadata.py b/src/murfey/client/contexts/tomo_metadata.py index 7890bba71..319650579 100644 --- a/src/murfey/client/contexts/tomo_metadata.py +++ b/src/murfey/client/contexts/tomo_metadata.py @@ -25,8 +25,8 @@ def ensure_dcg_exists(transferred_file: Path, environment: MurfeyInstanceEnviron dcg_tag = str(source).replace(f"/{environment.visit}", "") url = f"{str(environment.url.geturl())}{url_path_for('workflow.router', 'register_dc_group', visit_name=environment.visit, session_id=environment.murfey_session)}" dcg_data = { - "experiment_type": "single particle", - "experiment_type_id": 37, + "experiment_type": "tomo", + "experiment_type_id": 36, "tag": dcg_tag, } capture_post(url, json=dcg_data) From 39a58d6cfdd79655708afa90ffca743ad33bd88e Mon Sep 17 00:00:00 2001 From: yxd92326 Date: Tue, 15 Jul 2025 08:43:09 +0100 Subject: [PATCH 3/3] This case needs catching --- src/murfey/client/contexts/tomo_metadata.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/murfey/client/contexts/tomo_metadata.py b/src/murfey/client/contexts/tomo_metadata.py index 319650579..8a23d676d 100644 --- a/src/murfey/client/contexts/tomo_metadata.py +++ b/src/murfey/client/contexts/tomo_metadata.py @@ -57,6 +57,9 @@ def post_transfer( windows_path = session_data["TomographySession"]["AtlasId"] logger.info(f"Windows path to atlas metadata found: {windows_path}") + if not windows_path: + logger.warning("No atlas metadata path found") + return visit_index = windows_path.split("\\").index(environment.visit) partial_path = "/".join(windows_path.split("\\")[visit_index + 1 :]) logger.info("Partial Linux path successfully constructed from Windows path")