Skip to content

Commit ec4286f

Browse files
Fixes for picking up external post transfer hooks (#367)
1 parent f22cdb7 commit ec4286f

4 files changed

Lines changed: 37 additions & 3 deletions

File tree

src/murfey/client/analyser.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ def _find_extension(self, file_path: Path):
8686
"""
8787
Identifies the file extension and stores that information in the class.
8888
"""
89+
if "atlas" in file_path.parts:
90+
self._extension = file_path.suffix
91+
return True
92+
8993
if (
9094
required_substrings := self._murfey_config.get(
9195
"data_required_substrings", {}
@@ -121,6 +125,10 @@ def _find_context(self, file_path: Path) -> bool:
121125
stages of processing. Actions to take for individual files will be determined
122126
in the Context classes themselves.
123127
"""
128+
if "atlas" in file_path.parts:
129+
self._role = "detector"
130+
self._context = SPAMetadataContext("epu", self._basepath)
131+
return True
124132

125133
# CLEM workflow checks
126134
# Look for LIF and XLIF files
@@ -310,7 +318,10 @@ def _analyse(self):
310318
)
311319
except Exception as e:
312320
logger.error(f"Exception encountered: {e}")
313-
if self._role == "detector":
321+
if (
322+
self._role == "detector"
323+
and "atlas" not in transferred_file.parts
324+
):
314325
if not dc_metadata:
315326
try:
316327
dc_metadata = self._context.gather_metadata(
@@ -376,7 +387,10 @@ def _analyse(self):
376387
)
377388
except Exception as e:
378389
logger.error(f"Exception encountered: {e}")
379-
if self._role == "detector":
390+
if (
391+
self._role == "detector"
392+
and "atlas" not in transferred_file.parts
393+
):
380394
if not dc_metadata:
381395
try:
382396
dc_metadata = self._context.gather_metadata(

src/murfey/client/contexts/spa.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,6 +673,12 @@ def post_transfer(
673673
environment: MurfeyInstanceEnvironment | None = None,
674674
**kwargs,
675675
) -> bool:
676+
super().post_transfer(
677+
transferred_file=transferred_file,
678+
role=role,
679+
environment=environment,
680+
**kwargs,
681+
)
676682
data_suffixes = (".mrc", ".tiff", ".tif", ".eer")
677683
if role == "detector" and "gain" not in transferred_file.name:
678684
if transferred_file.suffix in data_suffixes:

src/murfey/client/contexts/spa_metadata.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def _atlas_destination(
3535

3636
class SPAMetadataContext(Context):
3737
def __init__(self, acquisition_software: str, basepath: Path):
38-
super().__init__("SPA metadata", acquisition_software)
38+
super().__init__("SPA_metadata", acquisition_software)
3939
self._basepath = basepath
4040

4141
def post_transfer(
@@ -45,6 +45,13 @@ def post_transfer(
4545
environment: Optional[MurfeyInstanceEnvironment] = None,
4646
**kwargs,
4747
):
48+
super().post_transfer(
49+
transferred_file=transferred_file,
50+
role=role,
51+
environment=environment,
52+
**kwargs,
53+
)
54+
4855
if transferred_file.name == "EpuSession.dm" and environment:
4956
logger.info("EPU session metadata found")
5057
with open(transferred_file, "r") as epu_xml:

src/murfey/client/contexts/tomo.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -781,6 +781,13 @@ def post_transfer(
781781
environment: MurfeyInstanceEnvironment | None = None,
782782
**kwargs,
783783
) -> List[str]:
784+
super().post_transfer(
785+
transferred_file=transferred_file,
786+
role=role,
787+
environment=environment,
788+
**kwargs,
789+
)
790+
784791
data_suffixes = (".mrc", ".tiff", ".tif", ".eer")
785792
completed_tilts = []
786793
if role == "detector" and "gain" not in transferred_file.name:

0 commit comments

Comments
 (0)