Skip to content

Commit eb33da9

Browse files
committed
Add logic to extract project name; update metadata insertion logic into the 'LamellaSiteInfo' model
1 parent 250f12f commit eb33da9

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

  • src/murfey/client/contexts

src/murfey/client/contexts/fib.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from 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

Comments
 (0)