@@ -44,7 +44,7 @@ def _foil_hole_positions(xml_path: Path, grid_square: int) -> Dict[str, FoilHole
4444 required_key = key
4545 break
4646 if not required_key :
47- logger .warning (f"Required key not found for { str (xml_path )} " )
47+ logger .info (f"Required key not found for { str (xml_path )} " )
4848 return {}
4949 foil_holes = {}
5050 for fh_block in serialization_array [required_key ]:
@@ -163,10 +163,13 @@ def post_transfer(
163163 atlas = Path (partial_path ), sample = sample
164164 )
165165 url = f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /register_data_collection_group"
166- dcg_search_dir = "/" + "/" .join (
167- p
168- for p in transferred_file .parent .parts [1 :]
169- if p != environment .visit
166+ dcg_search_dir = "/" .join (
167+ p for p in transferred_file .parent .parts if p != environment .visit
168+ )
169+ dcg_search_dir = (
170+ dcg_search_dir [1 :]
171+ if dcg_search_dir .startswith ("//" )
172+ else dcg_search_dir
170173 )
171174 dcg_images_dirs = sorted (
172175 Path (dcg_search_dir ).glob ("Images-Disc*" ),
@@ -215,11 +218,16 @@ def post_transfer(
215218 ):
216219 # Make sure we have a data collection group before trying to register grid square
217220 url = f"{ str (environment .url .geturl ())} /visits/{ environment .visit } /{ environment .murfey_session } /register_data_collection_group"
218- dcg_search_dir = "/" + "/" .join (
221+ dcg_search_dir = "/" .join (
219222 p
220- for p in transferred_file .parent .parent .parts [ 1 :]
223+ for p in transferred_file .parent .parent .parts
221224 if p != environment .visit
222225 )
226+ dcg_search_dir = (
227+ dcg_search_dir [1 :]
228+ if dcg_search_dir .startswith ("//" )
229+ else dcg_search_dir
230+ )
223231 dcg_images_dirs = sorted (
224232 Path (dcg_search_dir ).glob ("Images-Disc*" ),
225233 key = lambda x : x .stat ().st_ctime ,
@@ -241,6 +249,8 @@ def post_transfer(
241249 )
242250 fh_positions = _foil_hole_positions (transferred_file , int (gs_name ))
243251 source = _get_source (transferred_file , environment = environment )
252+ if source is None :
253+ return None
244254 visitless_source_search_dir = str (source ).replace (
245255 f"/{ environment .visit } " , ""
246256 )
@@ -261,12 +271,15 @@ def post_transfer(
261271 transferred_file ,
262272 int (gs_name ),
263273 )
274+ metadata_source_as_str = (
275+ "/" .join (source .parts [:- 2 ])
276+ + f"/{ environment .visit } /"
277+ + source .parts [- 2 ]
278+ )
264279 metadata_source = Path (
265- (
266- "/" .join (Path (visitless_source ).parts [:- 2 ])
267- + f"/{ environment .visit } /"
268- + Path (visitless_source ).parts [- 2 ]
269- )[1 :]
280+ metadata_source_as_str [1 :]
281+ if metadata_source_as_str .startswith ("//" )
282+ else metadata_source_as_str
270283 )
271284 image_path = (
272285 _file_transferred_to (
0 commit comments