Skip to content

Commit f4fc46b

Browse files
committed
Convert find_extension to return a bool
1 parent 041056e commit f4fc46b

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/murfey/client/analyser.py

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(
8585
def __repr__(self) -> str:
8686
return f"<Analyser ({self._basepath})>"
8787

88-
def _find_extension(self, file_path: Path):
88+
def _find_extension(self, file_path: Path) -> bool:
8989
"""
9090
Identifies the file extension and stores that information in the class.
9191
"""
@@ -101,32 +101,30 @@ def _find_extension(self, file_path: Path):
101101
.get(file_path.suffix)
102102
):
103103
if not any(r in file_path.name for r in required_substrings):
104-
return []
104+
return False
105105

106-
# Checks for MRC, TIFF, TIF, and EER files if no extension has been defined
107-
if (
108-
file_path.suffix in (".mrc", ".tiff", ".tif", ".eer")
109-
and not self._extension
110-
):
111-
logger.info(f"File extension determined: {file_path.suffix}")
112-
self._extension = file_path.suffix
113-
# Check for TIFF, TIF, or EER if the file's already been assigned an extension
114-
elif (
115-
file_path.suffix in (".tiff", ".tif", ".eer")
116-
and self._extension != file_path.suffix
117-
):
118-
logger.info(f"File extension re-evaluated: {file_path.suffix}")
119-
self._extension = file_path.suffix
106+
# Checks for MRC, TIFF, TIF, and EER files
107+
if file_path.suffix in (".mrc", ".tiff", ".tif", ".eer"):
108+
if not self._extension:
109+
logger.info(f"File extension determined: {file_path.suffix}")
110+
self._extension = file_path.suffix
111+
elif self._extension != file_path.suffix:
112+
logger.info(f"File extension re-evaluated: {file_path.suffix}")
113+
self._extension = file_path.suffix
114+
return True
120115
# If we see an .mdoc file first, use that to determine the file extensions
121116
elif file_path.suffix == ".mdoc":
122117
with open(file_path, "r") as md:
123118
md.seek(0)
124119
mdoc_data_block = get_block(md)
125120
if subframe_path := mdoc_data_block.get("SubFramePath"):
126121
self._extension = Path(subframe_path).suffix
122+
return True
127123
# Check for LIF files separately
128124
elif file_path.suffix == ".lif":
129125
self._extension = file_path.suffix
126+
return True
127+
return False
130128

131129
def _find_context(self, file_path: Path) -> bool:
132130
"""
@@ -269,7 +267,10 @@ def _analyse(self):
269267
elif transferred_file.suffix == ".mdoc":
270268
mdoc_for_reading = transferred_file
271269
if not self._context:
272-
self._find_extension(transferred_file)
270+
valid_extension = self._find_extension(transferred_file)
271+
if not valid_extension:
272+
logger.error(f"No extension found for {transferred_file}")
273+
break
273274
found = self._find_context(transferred_file)
274275
if not found:
275276
logger.debug(
@@ -344,7 +345,10 @@ def _analyse(self):
344345

345346
# Handle files with tomography and SPA context differently
346347
elif not self._extension or self._unseen_xml:
347-
self._find_extension(transferred_file)
348+
valid_extension = self._find_extension(transferred_file)
349+
if not valid_extension:
350+
logger.error(f"No extension found for {transferred_file}")
351+
break
348352
if self._extension:
349353
logger.info(
350354
f"Extension found successfully for {transferred_file}"

0 commit comments

Comments
 (0)