mxcubecore 1.408.0__tar.gz → 1.410.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mxcubecore might be problematic. Click here for more details.
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/PKG-INFO +1 -1
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Epics.py +1 -3
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ICATLIMS.py +135 -114
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/pyproject.toml +1 -1
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/COPYING +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/COPYING.LESSER +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/README.md +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/BaseHardwareObjects.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Exporter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Mockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Pool.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Sardana.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Spec.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Taco.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Tango.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/Tine.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/exporter/ExporterClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/exporter/ExporterStates.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/exporter/MDEvents.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/exporter/StandardClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Command/exporter/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/CommandContainer.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjectFileParser.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBABackLight.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBABeamInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBACalibration.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBACats.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBACatsMaint.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAClusterJob.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBACollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAEnergy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAFrontEnd.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAFrontLight.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAMiniDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBASession.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBASupervisor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBATransmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAZoomMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAZoomMotorAutoBrightness.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/XalocCalibration.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/XalocMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/XalocMiniDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Attenuators.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/AutoPowerSardanaMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BeamInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Beamline.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BeamlineActions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BeamlineTools.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Bliss.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissActuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissEnergy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissHutchTrigger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissMotorWPositions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissNState.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissRontecMCA.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Cats90.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/CatsBessy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/CatsMaint.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/CentringMath.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/Centring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11AlbulaView.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11BackLight.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Beam.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11BeamStop.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Collect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Collimator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DetectorCover.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DetectorDistance.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DoorInterlock.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11EigerDetector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Energy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11FastShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Flux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11ISPyBClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11MachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11NanoDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Pinhole.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11SampleChanger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Session.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Shutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Transmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11YagDiode.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Zoom.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/ValueStateChannel.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DataPublisher.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DozorOnlineProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EDNACharacterisation.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLAperture.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBSD.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeam.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamlineTest.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamstop.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLCRL.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLCollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLDetector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLEnergy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLEnergyScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLExporterClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLImageTracking.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLMiniDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLMotorsGroup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLOfflineProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLOnlineProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLPPUControl.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLPiezoMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLQueueEntry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLResolution.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLSSXChip.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLSafetyShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLSession.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLSlitBox.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLTableMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLTransfocator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLTransmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLXRFSpectrum.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLXrayImaging.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/MDFastShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/TINEMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBLFlexHCD.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBLFlexHarvester.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/BlissHutchTrigger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/BlissTurret.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/BlissVolpi.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeam.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamDefiner.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFMD2SC3.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFMetadataManagerClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFPhotonFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFSC3.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFSession.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFSmallXrayCentring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ESRFXRFSpectrum.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ID232BeamDefiner.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ID30A3BeamDefiner.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/ID30BBeamDefiner.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/MD2MultiCollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/OxfordCryostream.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/SSXICATLIMS.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/TangoKeithleyPhotonFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/Transmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/calc_flux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/fast_char_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/mx_base_queue_entry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_base_queue_entry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_big_foil_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_chip_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_foil_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_injector_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_laser_hare_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_laser_injector_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_line_scan_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/test_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ESRFLIMS.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EdnaWorkflow.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Energy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ExporterMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ExporterNState.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/FlexHCD.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/FlexHCDMaintenance.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/GenericDiffractometer.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/CollectEmulator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/GphlMessages.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/GphlQueueEntry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/GphlWorkflow.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/GphlWorkflowConnection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/Transcal2MiniKappa.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Gphl/run_mxcube_test.csh +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Grob.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/GrobDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/GrobGonio.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/GrobMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/GrobSampleChanger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Harvester.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/HarvesterMaintenance.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ISARAMaint.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/LNLS/LNLSLIMS.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/LNLS/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/LdapAuthenticator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Lima2Detector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/LimaEigerDetector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/LimaPilatusDetector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/ISPyBLims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/MachInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline_actions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/beamline.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MAXIV/session.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MD2Motor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MD3UP.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MachCurrent.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Mar225.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Marvin.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Microdiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffActuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffAperture.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffBeamstop.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffFocusMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffInOut.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffKappaMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffLight.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffLightBeamstop.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffSamplePseudo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MicrodiffZoom.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MiniDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MiniKappaCorrection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MinidiffAperture.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MotorWPositions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MotorsNPosition.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/MultiplePositions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/NState.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Native/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ObjectsController.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/PlateManipulator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/PlateManipulatorMaintenance.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ProposalTypeISPyBLims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/PyISPyBClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtAxisCamera.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtGraphicsLib.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtGraphicsManager.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtInstanceServer.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtLimaVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QtTangoLimaVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QueueManager.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/QueueModel.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/RedisClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Resolution.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SC3.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Attenuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1BeamInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1CatsMaint.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Collect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Configuration.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Cryotong.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1DetectorDistance.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Energy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1EnergyScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Environment.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1MiniDiff.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pilatus.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pss.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Resolution.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1TangoLight.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Attenuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2BeamInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Collect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Energy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Guillotine.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Qt4_LimaVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Resolution.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Video.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILCatsMaint.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILEnergyScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILGuillotine.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILISPyBClient.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILPss.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILRuche.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILSafetyShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILSession.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILqueue_entry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/TangoDCMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SOLEIL/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SampleStage.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SampleView.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SardanaMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SecureXMLRpcRequestHandler.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Session.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SimpleHTML.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecMotorWPositions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecMotorWSpecPositions.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecShell.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/SpecState.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/StateMachine.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoLimaMpegVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoLimaVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoLimaVideoDevice.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/TangoShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/Transmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/UnitTest.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/UserTypeISPyBLims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/VimbaVideo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XMLRPCServer.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XRFSpectrum.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataAutoprocv1_0.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataCommon.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataControlDozorv1_1.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataMXCuBEv1_3.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataMXCuBEv1_4.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/XSDataMXv1.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractActuator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractAperture.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractAuthenticator.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractBeam.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractCharacterisation.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractCollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractDetector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractEnergy.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractEnergyScan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractFlux.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractLims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractMCA.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractMachineInfo.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractMotor.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractNState.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractOnlineProcessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractProcedure.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractResolution.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractSampleChanger.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractSampleView.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractShutter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractSlits.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractTransmission.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractVideoDevice.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractXRFSpectrum.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/AbstractXrayCentring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/ISPyBAbstractLims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/ISPyBDataAdapter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/ISPyBValueFactory.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Component.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Container.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Crims.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Sample.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/abstract/sample_changer/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/autoprocessing.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/edna_test_data.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ActuatorMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ApertureMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/BeamDefinerMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/BeamMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/BeamlineActionsMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/BeamlineTestMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/BeamstopMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/CatsMaintMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/CollectMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/DetectorMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/DiffractometerMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/DoorInterlockMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/EDNACharacterisationMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/EnergyMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/EnergyScanMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ExporterNStateMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/FluxMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/HarvesterMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ISPyBClientMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ISPyBRestClientMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/LimaDetectorMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MDCameraMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MachineInfoMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MicrodiffApertureMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MicrodiffInOutMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MicrodiffZoomMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MotorMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MotorMockupBis.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/MultiCollectMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/OfflineProcessingMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/OnlineProcessingMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/PlateManipulatorMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/PlottingMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ProcedureMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/QtVideoMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ResolutionMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/SOLEILCharacterisationMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/SampleChangerMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ScanMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ShapeHistoryMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/ShutterMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/SlitsMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/TransmissionMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/XRFMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/XRFSpectrumMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/XrayCentringMockup.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/mockup/sample.jpg +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/sample_centring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareRepository.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/Poller.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/TaskUtils.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/__version__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/dispatcher.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/common.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/configmodel.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/crystal_symmetry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/lims_session.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/procedure_model.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/protocols/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/protocols/epics.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/protocols/exporter.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/protocols/sardana.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/protocols/tango.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/queue_model_enumerables.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/model/queue_model_objects.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/protocols_config.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/advanced_connector.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/base_queue_entry.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/characterisation.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/data_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/energy_scan.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/generic_workflow.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/import_helper.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/optical_centring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/sample_centring.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/test_collection.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/xray_centering.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/xray_centering2.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/queue_entry/xrf_spectrum.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/saferef.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/utils/__init__.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/utils/conversion.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/utils/qt_import.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/utils/tango.py +0 -0
- {mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/utils/units.py +0 -0
|
@@ -75,9 +75,7 @@ class EpicsCommand(CommandObject):
|
|
|
75
75
|
time.sleep(0.1)
|
|
76
76
|
self.pv_connected = self.pv.connect(timeout=0.1)
|
|
77
77
|
|
|
78
|
-
if self.pv_connected:
|
|
79
|
-
self.value_changed(self.pv.get(as_string=self.read_as_str, timeout=0.1))
|
|
80
|
-
else:
|
|
78
|
+
if not self.pv_connected:
|
|
81
79
|
logging.getLogger("HWR").error(
|
|
82
80
|
"EpicsCommand: Error connecting to pv %s.", self.pv_name
|
|
83
81
|
)
|
|
@@ -4,7 +4,7 @@ import shutil
|
|
|
4
4
|
from collections import defaultdict
|
|
5
5
|
from datetime import datetime, timedelta
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import TYPE_CHECKING, List, Optional
|
|
7
|
+
from typing import TYPE_CHECKING, Any, List, Optional
|
|
8
8
|
from zoneinfo import ZoneInfo
|
|
9
9
|
|
|
10
10
|
import requests
|
|
@@ -231,7 +231,6 @@ class ICATLIMS(AbstractLims):
|
|
|
231
231
|
def __add_download_path_to_processing_plan(
|
|
232
232
|
self, processing_plan, downloads: List[Download]
|
|
233
233
|
):
|
|
234
|
-
# Build a lookup for file_path by filename
|
|
235
234
|
file_path_lookup = {d.filename: d.path for d in downloads}
|
|
236
235
|
group_paths = defaultdict(list)
|
|
237
236
|
for d in downloads:
|
|
@@ -240,21 +239,23 @@ class ICATLIMS(AbstractLims):
|
|
|
240
239
|
|
|
241
240
|
# Enrich the processing_plan
|
|
242
241
|
for item in processing_plan:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
242
|
+
key = item.get("key")
|
|
243
|
+
value = item.get("value")
|
|
244
|
+
if (
|
|
245
|
+
key == "reference"
|
|
246
|
+
and isinstance(value, str)
|
|
247
|
+
and value in file_path_lookup
|
|
248
|
+
):
|
|
249
|
+
item["value"] = {"filepath": file_path_lookup[value]}
|
|
250
|
+
if key == "search_models":
|
|
251
|
+
models = value
|
|
252
|
+
if isinstance(models, str):
|
|
253
|
+
models = json.loads(models)
|
|
254
|
+
for model in models:
|
|
255
|
+
group = model.get("pdb_group")
|
|
256
|
+
if group in group_paths:
|
|
257
|
+
model["file_paths"] = group_paths[group]
|
|
258
|
+
item["value"] = models
|
|
258
259
|
|
|
259
260
|
def _safe_json_loads(self, json_str):
|
|
260
261
|
try:
|
|
@@ -262,25 +263,7 @@ class ICATLIMS(AbstractLims):
|
|
|
262
263
|
except Exception:
|
|
263
264
|
return str(json_str)
|
|
264
265
|
|
|
265
|
-
def
|
|
266
|
-
self, tracking_sample: dict, puck: dict, sample_sheets: List[SampleSheet]
|
|
267
|
-
) -> dict:
|
|
268
|
-
"""
|
|
269
|
-
Convert a tracking sample and associated metadata into the internal
|
|
270
|
-
sample data structure.
|
|
271
|
-
- Extracts relevant sample metadata.
|
|
272
|
-
- Resolves protein acronym from the sample sheet if available.
|
|
273
|
-
- Maps experiment plan details into a diffraction plan dictionary.
|
|
274
|
-
- Assembles all relevant fields into a structured sample dictionary.
|
|
275
|
-
|
|
276
|
-
Args:
|
|
277
|
-
tracking_sample (dict): The raw sample data from tracking.
|
|
278
|
-
puck (dict): The puck (container) metadata associated with the sample.
|
|
279
|
-
sample_sheets (List[SampleSheet]): List of sample sheets used for lookup.
|
|
280
|
-
|
|
281
|
-
Returns:
|
|
282
|
-
dict: A dictionary representing the standardized internal sample format.
|
|
283
|
-
"""
|
|
266
|
+
def __extract_sample_identifiers(self, tracking_sample: dict, puck: dict) -> dict:
|
|
284
267
|
# Basic identifiers
|
|
285
268
|
sample_name = str(tracking_sample.get("name"))
|
|
286
269
|
|
|
@@ -302,66 +285,8 @@ class ICATLIMS(AbstractLims):
|
|
|
302
285
|
puck_name = puck.get("name", "UnknownPuck")
|
|
303
286
|
parcel_name = puck.get("parcelName")
|
|
304
287
|
parcel_id = puck.get("parcelId")
|
|
305
|
-
# Determine protein acronym using sample sheet if available
|
|
306
|
-
protein_acronym = sample_name # Default fallback
|
|
307
288
|
|
|
308
|
-
|
|
309
|
-
if sample_sheet:
|
|
310
|
-
protein_acronym = sample_sheet.name
|
|
311
|
-
|
|
312
|
-
# This converts to key-value pairs
|
|
313
|
-
experiment_plan = {
|
|
314
|
-
item["key"]: item["value"]
|
|
315
|
-
for item in tracking_sample.get("experimentPlan", {})
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
processing_plan = tracking_sample.get("processingPlan", [])
|
|
319
|
-
downloads: List[Download] = []
|
|
320
|
-
if processing_plan:
|
|
321
|
-
for item in processing_plan:
|
|
322
|
-
# when possible this converts the string to json
|
|
323
|
-
item["value"] = self._safe_json_loads(item["value"])
|
|
324
|
-
|
|
325
|
-
sample_information = None
|
|
326
|
-
try:
|
|
327
|
-
sample_information: SampleInformation = (
|
|
328
|
-
self.__get_sample_information_by(sample_sheet_id)
|
|
329
|
-
)
|
|
330
|
-
if sample_information is not None:
|
|
331
|
-
destination_folder = (
|
|
332
|
-
HWR.beamline.session.get_base_process_directory()
|
|
333
|
-
)
|
|
334
|
-
msg = "Download resource: "
|
|
335
|
-
msg += f"sample_sheet_id={sample_sheet_id} "
|
|
336
|
-
msg += f"destination_folder={destination_folder}"
|
|
337
|
-
logger.debug(msg)
|
|
338
|
-
downloads = self._download_resources(
|
|
339
|
-
sample_sheet_id,
|
|
340
|
-
sample_information.resources,
|
|
341
|
-
destination_folder,
|
|
342
|
-
sample_name,
|
|
343
|
-
)
|
|
344
|
-
msg = f"downloaded {len(downloads)} resources"
|
|
345
|
-
logger.debug(msg)
|
|
346
|
-
if len(downloads) > 0:
|
|
347
|
-
try:
|
|
348
|
-
self.__add_download_path_to_processing_plan(
|
|
349
|
-
processing_plan, downloads
|
|
350
|
-
)
|
|
351
|
-
except RuntimeError:
|
|
352
|
-
logger.exception(
|
|
353
|
-
"Failed __add_download_path_to_processing_plan"
|
|
354
|
-
)
|
|
355
|
-
|
|
356
|
-
processing_plan = {
|
|
357
|
-
item["key"]: item["value"] for item in processing_plan
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
except RuntimeError as e:
|
|
361
|
-
msg = f"error getting sample information {e}"
|
|
362
|
-
logger.warning(msg)
|
|
363
|
-
|
|
364
|
-
comments = tracking_sample.get("comments")
|
|
289
|
+
protein_acronym = self.__resolve_protein_acronym(sample_name, sample_sheet_id)
|
|
365
290
|
|
|
366
291
|
return {
|
|
367
292
|
"sampleName": sample_name,
|
|
@@ -376,29 +301,125 @@ class ICATLIMS(AbstractLims):
|
|
|
376
301
|
"SampleTrackingParcel_id": parcel_id,
|
|
377
302
|
"SampleTrackingContainer_id": puck_name,
|
|
378
303
|
"SampleTrackingContainer_name": parcel_id,
|
|
379
|
-
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
def __resolve_protein_acronym(self, sample_name: str, sample_sheet_id: str) -> str:
|
|
307
|
+
sample_sheet = self.get_sample_sheet_by_id(self.sample_sheets, sample_sheet_id)
|
|
308
|
+
return sample_sheet.name if sample_sheet else sample_name
|
|
309
|
+
|
|
310
|
+
def __parse_experiment_plan(self, tracking_sample: dict) -> dict[str, Any]:
|
|
311
|
+
return {
|
|
312
|
+
item["key"]: item["value"]
|
|
313
|
+
for item in tracking_sample.get("experimentPlan", {})
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
def __build_diffraction_plan(self, experiment_plan: dict) -> dict[str, Any]:
|
|
317
|
+
return {
|
|
318
|
+
# "diffractionPlanId": 457980, TODO: do we need this?
|
|
319
|
+
"experimentKind": experiment_plan.get("experimentKind"),
|
|
320
|
+
"numberOfPositions": experiment_plan.get("numberOfPositions"),
|
|
321
|
+
"observedResolution": experiment_plan.get("observedResolution"),
|
|
322
|
+
"preferredBeamDiameter": experiment_plan.get("preferredBeamDiameter"),
|
|
323
|
+
"radiationSensitivity": experiment_plan.get("radiationSensitivity"),
|
|
324
|
+
"requiredCompleteness": experiment_plan.get("requiredCompleteness"),
|
|
325
|
+
"requiredMultiplicity": experiment_plan.get("requiredMultiplicity"),
|
|
326
|
+
"requiredResolution": experiment_plan.get("requiredResolution"),
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
def __prepare_processing_plan(
|
|
330
|
+
self, tracking_sample: dict, sample_sheet_id: str, protein_acronym: str
|
|
331
|
+
) -> dict[str, Any]:
|
|
332
|
+
processing_plan = tracking_sample.get("processingPlan", [])
|
|
333
|
+
if not processing_plan:
|
|
334
|
+
return {}
|
|
335
|
+
|
|
336
|
+
# Convert string values to JSON if possible
|
|
337
|
+
for item in processing_plan:
|
|
338
|
+
item["value"] = self._safe_json_loads(item.get("value"))
|
|
339
|
+
|
|
340
|
+
downloads = self.__get_or_download_plan_resources(
|
|
341
|
+
sample_sheet_id, protein_acronym
|
|
342
|
+
)
|
|
343
|
+
|
|
344
|
+
if downloads:
|
|
345
|
+
try:
|
|
346
|
+
self.__add_download_path_to_processing_plan(processing_plan, downloads)
|
|
347
|
+
except RuntimeError:
|
|
348
|
+
logger.exception("Failed __add_download_path_to_processing_plan")
|
|
349
|
+
return {item["key"]: item["value"] for item in processing_plan}
|
|
350
|
+
|
|
351
|
+
def __get_or_download_plan_resources(
|
|
352
|
+
self, sample_sheet_id: str, protein_acronym: str
|
|
353
|
+
) -> List[Download]:
|
|
354
|
+
if not hasattr(self, "_downloads_cache"):
|
|
355
|
+
self._downloads_cache = {}
|
|
356
|
+
|
|
357
|
+
cache_key = (sample_sheet_id, protein_acronym)
|
|
358
|
+
if cache_key in self._downloads_cache:
|
|
359
|
+
logger.debug(f"Reusing cached downloads for {cache_key}")
|
|
360
|
+
return self._downloads_cache[cache_key]
|
|
361
|
+
|
|
362
|
+
sample_information = self.__get_sample_information_by(sample_sheet_id)
|
|
363
|
+
if not sample_information:
|
|
364
|
+
return []
|
|
365
|
+
|
|
366
|
+
# create subfolder per protein acronym
|
|
367
|
+
destination_folder = (
|
|
368
|
+
Path(HWR.beamline.session.get_base_process_directory())
|
|
369
|
+
/ "processing_plan_resources"
|
|
370
|
+
/ protein_acronym
|
|
371
|
+
)
|
|
372
|
+
destination_folder.mkdir(parents=True, exist_ok=True)
|
|
373
|
+
|
|
374
|
+
logger.debug(
|
|
375
|
+
f"Download resource: sample_sheet_id={sample_sheet_id} "
|
|
376
|
+
f"destination_folder={destination_folder}"
|
|
377
|
+
)
|
|
378
|
+
|
|
379
|
+
downloads = self._download_resources(
|
|
380
|
+
sample_sheet_id, sample_information.resources, destination_folder, ""
|
|
381
|
+
)
|
|
382
|
+
|
|
383
|
+
logger.debug(f"downloaded {len(downloads)} resources")
|
|
384
|
+
|
|
385
|
+
self._downloads_cache[cache_key] = downloads
|
|
386
|
+
return downloads
|
|
387
|
+
|
|
388
|
+
def __to_sample(
|
|
389
|
+
self, tracking_sample: dict, puck: dict, sample_sheets: List[SampleSheet]
|
|
390
|
+
) -> dict[str, Any]:
|
|
391
|
+
"""
|
|
392
|
+
Convert a tracking sample and associated metadata into the internal
|
|
393
|
+
sample data structure.
|
|
394
|
+
- Extracts relevant sample metadata.
|
|
395
|
+
- Resolves protein acronym from the sample sheet if available.
|
|
396
|
+
- Maps experiment plan details into a diffraction plan dictionary.
|
|
397
|
+
- Assembles all relevant fields into a structured sample dictionary.
|
|
398
|
+
|
|
399
|
+
Args:
|
|
400
|
+
tracking_sample (dict): The raw sample data from tracking.
|
|
401
|
+
puck (dict): The puck (container) metadata associated with the sample.
|
|
402
|
+
sample_sheets (List[SampleSheet]): List of sample sheets used for lookup.
|
|
403
|
+
|
|
404
|
+
Returns:
|
|
405
|
+
dict: A dictionary representing the standardized internal sample format.
|
|
406
|
+
"""
|
|
407
|
+
sample_id_info = self.__extract_sample_identifiers(tracking_sample, puck)
|
|
408
|
+
experiment_plan = self.__parse_experiment_plan(tracking_sample)
|
|
409
|
+
processing_plan = self.__prepare_processing_plan(
|
|
410
|
+
tracking_sample,
|
|
411
|
+
sample_id_info["sample_sheet_id"],
|
|
412
|
+
sample_id_info["proteinAcronym"],
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
return {
|
|
416
|
+
**sample_id_info,
|
|
380
417
|
"experimentType": experiment_plan.get("workflowType"),
|
|
381
418
|
"crystalSpaceGroup": experiment_plan.get("forceSpaceGroup"),
|
|
382
|
-
"diffractionPlan":
|
|
383
|
-
# "diffractionPlanId": 457980, TODO: do we need this?
|
|
384
|
-
"experimentKind": experiment_plan.get("experimentKind"),
|
|
385
|
-
"numberOfPositions": experiment_plan.get("numberOfPositions"),
|
|
386
|
-
"observedResolution": experiment_plan.get("observedResolution"),
|
|
387
|
-
"preferredBeamDiameter": experiment_plan.get("preferredBeamDiameter"),
|
|
388
|
-
"radiationSensitivity": experiment_plan.get("radiationSensitivity"),
|
|
389
|
-
"requiredCompleteness": experiment_plan.get("requiredCompleteness"),
|
|
390
|
-
"requiredMultiplicity": experiment_plan.get("requiredMultiplicity"),
|
|
391
|
-
"requiredResolution": experiment_plan.get("requiredResolution"),
|
|
392
|
-
},
|
|
393
|
-
"cellA": experiment_plan.get("unit_cell_a"),
|
|
394
|
-
"cellB": experiment_plan.get("unit_cell_b"),
|
|
395
|
-
"cellC": experiment_plan.get("unit_cell_c"),
|
|
396
|
-
"cellAlpha": experiment_plan.get("unit_cell_alpha"),
|
|
397
|
-
"cellBeta": experiment_plan.get("unit_cell_beta"),
|
|
398
|
-
"cellGamma": experiment_plan.get("unit_cell_gamma"),
|
|
419
|
+
"diffractionPlan": self.__build_diffraction_plan(experiment_plan),
|
|
399
420
|
"experimentPlan": experiment_plan,
|
|
400
421
|
"processingPlan": processing_plan,
|
|
401
|
-
"comments": comments,
|
|
422
|
+
"comments": tracking_sample.get("comments"),
|
|
402
423
|
}
|
|
403
424
|
|
|
404
425
|
def create_session(self, session_dict):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBACalibration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBAMachineInfo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/ALBATransmission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/XalocCalibration.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/ALBA/XalocMachineInfo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/AutoPowerSardanaMotor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/BlissMotorWPositions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DetectorCover.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DetectorDistance.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11DoorInterlock.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11EigerDetector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11SampleChanger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/P11Transmission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DESY/ValueStateChannel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/DozorOnlineProcessing.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EDNACharacterisation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py
RENAMED
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamlineTest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLExporterClient.py
RENAMED
|
File without changes
|
|
File without changes
|
{mxcubecore-1.408.0 → mxcubecore-1.410.0}/mxcubecore/HardwareObjects/EMBL/EMBLImageTracking.py
RENAMED
|
File without changes
|