feat: load beam centre model from config
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user