From 9c04344b79860b6221a93f7177eaf0973f23d15f Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Mon, 2 Aug 2021 16:21:05 +0200 Subject: [PATCH] automatically import enums to slsdet --- python/slsdet/enums.py | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/python/slsdet/enums.py b/python/slsdet/enums.py index 48c2d51b3..fdbfe7d2f 100644 --- a/python/slsdet/enums.py +++ b/python/slsdet/enums.py @@ -1,17 +1,20 @@ +""" +Automatically improt all enums from slsDetectorDefs and give an +alias with their name in the enum module. All names from the enum +module is later imported into slsdet + +Example: detectorType = _slsdet.slsDetectorDefs.detectorType +Usage can later be: + +from slsdet import detectorType +if dt === detectorType.EIGER: + #do something + +""" + import _slsdet -runStatus = _slsdet.slsDetectorDefs.runStatus -speedLevel = _slsdet.slsDetectorDefs.speedLevel -detectorType = _slsdet.slsDetectorDefs.detectorType -frameDiscardPolicy = _slsdet.slsDetectorDefs.frameDiscardPolicy -fileFormat = _slsdet.slsDetectorDefs.fileFormat -dimension = _slsdet.slsDetectorDefs.dimension -externalSignalFlag = _slsdet.slsDetectorDefs.externalSignalFlag -timingMode = _slsdet.slsDetectorDefs.timingMode -dacIndex = _slsdet.slsDetectorDefs.dacIndex -detectorSettings = _slsdet.slsDetectorDefs.detectorSettings -clockIndex = _slsdet.slsDetectorDefs.clockIndex -readoutMode = _slsdet.slsDetectorDefs.readoutMode -burstMode = _slsdet.slsDetectorDefs.burstMode -timingSourceType = _slsdet.slsDetectorDefs.timingSourceType -M3_GainCaps = _slsdet.slsDetectorDefs.M3_GainCaps \ No newline at end of file +for name, cls in _slsdet.slsDetectorDefs.__dict__.items(): + if isinstance(cls, type): + exec(f'{name} = {cls.__module__}.{cls.__qualname__}') +