feat: load beam centre model from config

This commit is contained in:
2026-08-25 09:30:59 +02:00
committed by perl_d
parent 7e1a8162b2
commit 59300da4ac
@@ -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):