From e2a6bbd6a8fc37f2271a9c68e3213e88ca4dfcc7 Mon Sep 17 00:00:00 2001 From: yxd92326 Date: Tue, 15 Sep 2026 15:13:23 +0100 Subject: [PATCH 1/2] Add hook to get gridsquare dm files --- src/murfey/client/contexts/spa_metadata.py | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/murfey/client/contexts/spa_metadata.py b/src/murfey/client/contexts/spa_metadata.py index b48129646..9aa9ab3c9 100644 --- a/src/murfey/client/contexts/spa_metadata.py +++ b/src/murfey/client/contexts/spa_metadata.py @@ -1,4 +1,5 @@ import logging +from importlib.metadata import entry_points from pathlib import Path from typing import Dict, Optional @@ -346,3 +347,27 @@ def post_transfer_epu( }, ) self._registered_squares.add(gs_name) + + elif ( + transferred_file.suffix == ".xml" + and transferred_file.name.startswith("GridSquare") + and environment + ): + source = _get_source(transferred_file, environment=environment) + if not source: + logger.warning( + f"Source could not be identified for {str(transferred_file)}" + ) + return + + gridsquare_dm = source / "Metadata" / f"{transferred_file.parent.name}.dm" + for h in entry_points(group="murfey.hooks"): + try: + if h.name == "get_gridsquare_dm": + h.load()( + gridsquare_dm=gridsquare_dm, + environment=environment, + token=self._token, + ) + except Exception as e: + logger.warning(f"Get GridSquare dm hook failed: {e}") From 1c3935a0d8d446a85d4a2f260897bcbf3adad049 Mon Sep 17 00:00:00 2001 From: yxd92326 Date: Tue, 15 Sep 2026 15:36:48 +0100 Subject: [PATCH 2/2] Need metadata source --- src/murfey/client/contexts/spa_metadata.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/murfey/client/contexts/spa_metadata.py b/src/murfey/client/contexts/spa_metadata.py index 9aa9ab3c9..f5da96954 100644 --- a/src/murfey/client/contexts/spa_metadata.py +++ b/src/murfey/client/contexts/spa_metadata.py @@ -365,6 +365,7 @@ def post_transfer_epu( try: if h.name == "get_gridsquare_dm": h.load()( + destination_dir=source, gridsquare_dm=gridsquare_dm, environment=environment, token=self._token,