From 59300da4acdecff8e324f06a4ca2d02bffccc84c Mon Sep 17 00:00:00 2001 From: David Perl Date: Fri, 21 Aug 2026 12:06:08 +0200 Subject: [PATCH] feat: load beam centre model from config --- src/aare/beamline_dispatch/default/beamline_dispatch.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/aare/beamline_dispatch/default/beamline_dispatch.py b/src/aare/beamline_dispatch/default/beamline_dispatch.py index f69d9ba9..907aaf82 100644 --- a/src/aare/beamline_dispatch/default/beamline_dispatch.py +++ b/src/aare/beamline_dispatch/default/beamline_dispatch.py @@ -1,4 +1,6 @@ +import json import os +from importlib.resources import files from aarecommon.config.beamline import MXBeamline from aarecommon.models.beam_centre import BeamCentre @@ -18,11 +20,14 @@ class DefaultAuthDispatch(AuthDispatch): class DefaultGeometry(Geometry): def __init__(self, beamline: MXBeamline) -> None: super().__init__() - self._model = BeamCentre + with open(files("aarecommon.config") / "beamline_configs" / "beam_centres.json") as f: + measurements = json.loads(f.read())[beamline.value.lower()] + self._model = BeamCentre.model_validate(measurements) self._beamline = beamline @property - def beam_centre_model(self) -> BeamCentre: ... + def beam_centre_model(self) -> BeamCentre: + return self._model class DefaultDispatch(BeamlineDispatch):