@@ -116,7 +116,6 @@ def post_transfer(
116116
117117 # Process TIF/TIFF files
118118 if transferred_file .suffix in (".tif" , ".tiff" ):
119- logger .debug ("Detected a TIFF file" )
120119
121120 # Files should be named "PositionX--ZXX--CXX.tif" by default
122121 # If Position is repeated, it will add an additional --00X to the end
@@ -126,6 +125,8 @@ def post_transfer(
126125 )
127126 return False
128127
128+ logger .debug (f"File { transferred_file .name !r} is part of a TIFF image series" )
129+
129130 # Create a unique name for the series
130131 # For standard file name
131132 if len (transferred_file .stem .split ("--" )) == 3 :
@@ -149,7 +150,7 @@ def post_transfer(
149150 )
150151 return False
151152 logger .debug (
152- f"File { transferred_file .name !r} given the series identifier { series_name !r} "
153+ f"File { transferred_file .name !r} given the series name { series_name !r} "
153154 )
154155
155156 # Create key-value pairs containing empty list if not already present
@@ -171,21 +172,31 @@ def post_transfer(
171172
172173 # Process XLIF files
173174 if transferred_file .suffix == ".xlif" :
174- logger .debug ("Detected an XLIF file" )
175175
176176 # Skip processing of "_histo" histogram XLIF files
177177 if transferred_file .stem .endswith ("_histo" ):
178178 logger .debug (
179179 f"File { transferred_file .name !r} contains histogram metadata; skipping processing"
180180 )
181+ return True
182+
183+ # Skip processing of "IOManagerConfiguation.xlif" files (yes, the typo IS part of the file name)
184+ if "IOManagerConfiguation" in transferred_file .stem :
185+ logger .debug (
186+ f"File { transferred_file .name !r} is a Leica configuration file; skipping processing"
187+ )
188+ return True
181189
190+ logger .debug (f"File { transferred_file .name !r} contains metadata for an image series" )
191+
192+ # Create series name for XLIF file
182193 # XLIF files don't have the "--ZXX--CXX" additions in the file name
183194 # But they have "/Metadata/" as the immediate parent
184195 series_name = "/" .join (
185196 [* file_path .parent .parent .parts [- 2 :], file_path .stem ]
186197 ) # The previous 2 parent directories should be unique enough
187198 logger .debug (
188- f"File { transferred_file .name !r} given the series identifier { series_name !r} "
199+ f"File { transferred_file .name !r} given the series name { series_name !r} "
189200 )
190201
191202 # Extract metadata to get the expected size of the series
@@ -221,17 +232,21 @@ def post_transfer(
221232
222233 # Post message if all files for the associated series have been collected
223234 # .get(series_name, 0) returns 0 if no associated key is found
224- if len (self ._tiff_series [ series_name ]) == 0 :
235+ if not len (self ._tiff_series . get ( series_name , [])) :
225236 logger .debug (f"TIFF series { series_name !r} not yet loaded" )
226237 return True
227238 elif self ._files_in_series .get (series_name , 0 ) == 0 :
228239 logger .debug (
229240 f"Metadata for TIFF series { series_name !r} not yet processed"
230241 )
231242 return True
232- elif len (self ._tiff_series [series_name ]) == self ._files_in_series .get (
233- series_name , 0
234- ):
243+ elif len (
244+ self ._tiff_series .get (series_name , [])
245+ ) == self ._files_in_series .get (series_name , 0 ):
246+ logger .debug (
247+ f"Collected expected number of TIFF files for series { series_name !r} ; posting job to server"
248+ )
249+
235250 # Construct URL for Murfey server to communicate with
236251 url = f"{ str (environment .url .geturl ())} /sessions/{ environment .murfey_session } /tiff_to_stack"
237252 if not url :
@@ -270,6 +285,8 @@ def post_transfer(
270285 logger .warning (f"No source found for file { transferred_file } " )
271286 return True
272287
288+ logger .debug (f"File { transferred_file .name !r} is a valid LIF file; posting job to server" )
289+
273290 # Construct the URL for the Murfey server to communicate with
274291 url = f"{ str (environment .url .geturl ())} /sessions/{ environment .murfey_session } /lif_to_tiff"
275292 # Type checking to satisfy MyPy
0 commit comments