1717from murfey .util .models import (
1818 LamellaSiteInfo ,
1919 MillingStepInfo ,
20+ MillingSteps ,
2021 StagePositionInfo ,
2122 StagePositionValues ,
2223)
@@ -420,6 +421,11 @@ def _parse_autotem_metadata(self, file: Path):
420421 logger .warning (f"Error parsing file { str (file )} " , exc_info = True )
421422 return None
422423
424+ # Get the project name
425+ if (project_name := _parse_xml_text (root , ".//Project/Name" , str )) is None :
426+ logger .warning ("Metadata file has no project name" )
427+ return None
428+
423429 # Find all the Site nodes
424430 if not (sites := root .findall (".//Sites/Site" )):
425431 logger .warning (f"No site information found in { str (file )} " )
@@ -433,7 +439,12 @@ def _parse_autotem_metadata(self, file: Path):
433439 logger .warning ("Current site doesn't have a name" )
434440 continue
435441 site_num = _number_from_name (site_name )
436- site_info = LamellaSiteInfo (site_name = site_name )
442+ site_info = LamellaSiteInfo (
443+ project_name = project_name ,
444+ site_name = site_name ,
445+ site_number = site_num ,
446+ steps = MillingSteps (),
447+ )
437448
438449 # Extract stage position information for all known stages in current site
439450 stage_info = StagePositionInfo (
@@ -554,7 +565,10 @@ def _parse_autotem_metadata(self, file: Path):
554565 ),
555566 )
556567 # Add info for current step to the site info model
557- site_info .__setattr__ (MILLING_STEP_NAMES [unique_name ], step_info )
568+ site_info .steps .__setattr__ (
569+ MILLING_STEP_NAMES [unique_name ], step_info
570+ )
571+
558572 # Add info for current site to the dict
559573 all_site_info [site_num ] = site_info
560574
0 commit comments