From 8da479136ed755397fb8e230f856c90dee4b0966 Mon Sep 17 00:00:00 2001 From: Dan Hatton Date: Fri, 27 Feb 2026 17:01:31 +0000 Subject: [PATCH] make copy of BatchPositionList file so that time stamped versions are created as records in case the file is corrupted during acquisition --- src/murfey/client/contexts/tomo_metadata.py | 7 +++++++ src/murfey/client/rsync.py | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/murfey/client/contexts/tomo_metadata.py b/src/murfey/client/contexts/tomo_metadata.py index 7d85a6a5a..155f09370 100644 --- a/src/murfey/client/contexts/tomo_metadata.py +++ b/src/murfey/client/contexts/tomo_metadata.py @@ -1,4 +1,6 @@ import logging +import shutil +from datetime import datetime from pathlib import Path from typing import Optional @@ -208,6 +210,11 @@ def post_transfer( elif transferred_file.name == "BatchPositionsList.xml": logger.info("Tomography session batch positions list found") + shutil.copy( + transferred_file, + transferred_file.parent + / f"{transferred_file.stem}-{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}{transferred_file.suffix}", + ) dcg_tag = ensure_dcg_exists( collection_type="tomo", metadata_source=metadata_source, diff --git a/src/murfey/client/rsync.py b/src/murfey/client/rsync.py index deae2f443..5d27dc0d5 100644 --- a/src/murfey/client/rsync.py +++ b/src/murfey/client/rsync.py @@ -133,10 +133,6 @@ def from_rsyncer(cls, rsyncer: RSyncer, **kwargs): "notify": rsyncer._notify, } kwarguments_from_rsyncer.update(kwargs) - assert isinstance(kwarguments_from_rsyncer["local"], bool) - assert isinstance(kwarguments_from_rsyncer["do_transfer"], bool) - assert isinstance(kwarguments_from_rsyncer["remove_files"], bool) - assert isinstance(kwarguments_from_rsyncer["notify"], bool) return cls( rsyncer._basepath, rsyncer._basepath_remote,