@@ -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