mxcubecore 1.382.0__tar.gz → 1.384.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.

Files changed (477) hide show
  1. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/PKG-INFO +1 -1
  2. mxcubecore-1.384.0/mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +435 -0
  3. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ICATLIMS.py +351 -300
  4. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MiniDiff.py +8 -5
  5. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py +4 -0
  6. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/pyproject.toml +1 -1
  7. mxcubecore-1.382.0/mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +0 -397
  8. mxcubecore-1.382.0/mxcubecore/HardwareObjects/ESRF/ID231EnergyScan.py +0 -40
  9. mxcubecore-1.382.0/mxcubecore/HardwareObjects/ESRF/ID29EnergyScan.py +0 -77
  10. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/COPYING +0 -0
  11. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/COPYING.LESSER +0 -0
  12. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/README.md +0 -0
  13. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/BaseHardwareObjects.py +0 -0
  14. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Epics.py +0 -0
  15. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Exporter.py +0 -0
  16. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Mockup.py +0 -0
  17. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Pool.py +0 -0
  18. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Sardana.py +0 -0
  19. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Spec.py +0 -0
  20. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Taco.py +0 -0
  21. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Tango.py +0 -0
  22. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/Tine.py +0 -0
  23. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/__init__.py +0 -0
  24. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/exporter/ExporterClient.py +0 -0
  25. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/exporter/ExporterStates.py +0 -0
  26. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/exporter/MDEvents.py +0 -0
  27. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/exporter/StandardClient.py +0 -0
  28. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Command/exporter/__init__.py +0 -0
  29. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/CommandContainer.py +0 -0
  30. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjectFileParser.py +0 -0
  31. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py +0 -0
  32. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBABackLight.py +0 -0
  33. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBABeamInfo.py +0 -0
  34. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBACalibration.py +0 -0
  35. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBACats.py +0 -0
  36. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBACatsMaint.py +0 -0
  37. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAClusterJob.py +0 -0
  38. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBACollect.py +0 -0
  39. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py +0 -0
  40. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAEnergy.py +0 -0
  41. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py +0 -0
  42. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py +0 -0
  43. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAFlux.py +0 -0
  44. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAFrontEnd.py +0 -0
  45. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAFrontLight.py +0 -0
  46. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py +0 -0
  47. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAMachineInfo.py +0 -0
  48. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAMiniDiff.py +0 -0
  49. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +0 -0
  50. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBASession.py +0 -0
  51. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBASupervisor.py +0 -0
  52. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBATransmission.py +0 -0
  53. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAZoomMotor.py +0 -0
  54. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/ALBAZoomMotorAutoBrightness.py +0 -0
  55. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/XalocCalibration.py +0 -0
  56. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/XalocMachineInfo.py +0 -0
  57. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/XalocMiniDiff.py +0 -0
  58. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ALBA/__init__.py +0 -0
  59. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Attenuators.py +0 -0
  60. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/AutoPowerSardanaMotor.py +0 -0
  61. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BeamInfo.py +0 -0
  62. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Beamline.py +0 -0
  63. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BeamlineActions.py +0 -0
  64. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BeamlineTools.py +0 -0
  65. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Bliss.py +0 -0
  66. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissActuator.py +0 -0
  67. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissEnergy.py +0 -0
  68. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissHutchTrigger.py +0 -0
  69. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissMotor.py +0 -0
  70. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissMotorWPositions.py +0 -0
  71. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissNState.py +0 -0
  72. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissRontecMCA.py +0 -0
  73. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/BlissShutter.py +0 -0
  74. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Cats90.py +0 -0
  75. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/CatsBessy.py +0 -0
  76. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/CatsMaint.py +0 -0
  77. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/CentringMath.py +0 -0
  78. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/Centring.py +0 -0
  79. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py +0 -0
  80. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py +0 -0
  81. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11AlbulaView.py +0 -0
  82. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11BackLight.py +0 -0
  83. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Beam.py +0 -0
  84. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11BeamStop.py +0 -0
  85. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Collect.py +0 -0
  86. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Collimator.py +0 -0
  87. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11DetectorCover.py +0 -0
  88. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11DetectorDistance.py +0 -0
  89. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11DoorInterlock.py +0 -0
  90. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py +0 -0
  91. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11EigerDetector.py +0 -0
  92. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Energy.py +0 -0
  93. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11FastShutter.py +0 -0
  94. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Flux.py +0 -0
  95. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11ISPyBClient.py +0 -0
  96. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11MachineInfo.py +0 -0
  97. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11NanoDiff.py +0 -0
  98. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Pinhole.py +0 -0
  99. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11SampleChanger.py +0 -0
  100. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Session.py +0 -0
  101. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Shutter.py +0 -0
  102. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Transmission.py +0 -0
  103. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11YagDiode.py +0 -0
  104. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/P11Zoom.py +0 -0
  105. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/ValueStateChannel.py +0 -0
  106. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DESY/__init__.py +0 -0
  107. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DataPublisher.py +0 -0
  108. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/DozorOnlineProcessing.py +0 -0
  109. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EDNACharacterisation.py +0 -0
  110. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLAperture.py +0 -0
  111. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBSD.py +0 -0
  112. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeam.py +0 -0
  113. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py +0 -0
  114. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py +0 -0
  115. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamlineTest.py +0 -0
  116. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLBeamstop.py +0 -0
  117. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLCRL.py +0 -0
  118. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLCollect.py +0 -0
  119. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLDetector.py +0 -0
  120. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py +0 -0
  121. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLEnergy.py +0 -0
  122. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLEnergyScan.py +0 -0
  123. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLExporterClient.py +0 -0
  124. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLFlux.py +0 -0
  125. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLImageTracking.py +0 -0
  126. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLMachineInfo.py +0 -0
  127. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLMiniDiff.py +0 -0
  128. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLMotorsGroup.py +0 -0
  129. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLOfflineProcessing.py +0 -0
  130. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLOnlineProcessing.py +0 -0
  131. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLPPUControl.py +0 -0
  132. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLPiezoMotor.py +0 -0
  133. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLQueueEntry.py +0 -0
  134. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLResolution.py +0 -0
  135. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLSSXChip.py +0 -0
  136. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLSafetyShutter.py +0 -0
  137. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLSession.py +0 -0
  138. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLSlitBox.py +0 -0
  139. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLTableMotor.py +0 -0
  140. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLTransfocator.py +0 -0
  141. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLTransmission.py +0 -0
  142. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLXRFSpectrum.py +0 -0
  143. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/EMBLXrayImaging.py +0 -0
  144. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/MDFastShutter.py +0 -0
  145. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/TINEMotor.py +0 -0
  146. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBL/__init__.py +0 -0
  147. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBLFlexHCD.py +0 -0
  148. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EMBLFlexHarvester.py +0 -0
  149. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/BlissHutchTrigger.py +0 -0
  150. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/BlissTurret.py +0 -0
  151. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/BlissVolpi.py +0 -0
  152. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeam.py +0 -0
  153. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamDefiner.py +0 -0
  154. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py +0 -0
  155. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py +0 -0
  156. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFMD2SC3.py +0 -0
  157. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFMetadataManagerClient.py +0 -0
  158. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py +0 -0
  159. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFPhotonFlux.py +0 -0
  160. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFSC3.py +0 -0
  161. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFSession.py +0 -0
  162. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFSmallXrayCentring.py +0 -0
  163. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ESRFXRFSpectrum.py +0 -0
  164. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ID232BeamDefiner.py +0 -0
  165. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py +0 -0
  166. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ID30A3BeamDefiner.py +0 -0
  167. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/ID30BBeamDefiner.py +0 -0
  168. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/MD2MultiCollect.py +0 -0
  169. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/OxfordCryostream.py +0 -0
  170. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/SSXICATLIMS.py +0 -0
  171. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/TangoKeithleyPhotonFlux.py +0 -0
  172. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/Transmission.py +0 -0
  173. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/__init__.py +0 -0
  174. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/calc_flux.py +0 -0
  175. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/__init__.py +0 -0
  176. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/fast_char_collection.py +0 -0
  177. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/mx_base_queue_entry.py +0 -0
  178. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_base_queue_entry.py +0 -0
  179. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_big_foil_collection.py +0 -0
  180. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_chip_collection.py +0 -0
  181. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_foil_collection.py +0 -0
  182. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_injector_collection.py +0 -0
  183. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_laser_hare_collection.py +0 -0
  184. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_laser_injector_collection.py +0 -0
  185. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/ssx_line_scan_collection.py +0 -0
  186. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRF/queue_entry/test_collection.py +0 -0
  187. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ESRFLIMS.py +0 -0
  188. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/EdnaWorkflow.py +0 -0
  189. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Energy.py +0 -0
  190. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ExporterMotor.py +0 -0
  191. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ExporterNState.py +0 -0
  192. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/FlexHCD.py +0 -0
  193. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/FlexHCDMaintenance.py +0 -0
  194. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/GenericDiffractometer.py +0 -0
  195. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/CollectEmulator.py +0 -0
  196. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/GphlMessages.py +0 -0
  197. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/GphlQueueEntry.py +0 -0
  198. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/GphlWorkflow.py +0 -0
  199. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/GphlWorkflowConnection.py +0 -0
  200. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/Transcal2MiniKappa.py +0 -0
  201. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/__init__.py +0 -0
  202. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Gphl/run_mxcube_test.csh +0 -0
  203. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Grob.py +0 -0
  204. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/GrobDiff.py +0 -0
  205. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/GrobGonio.py +0 -0
  206. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/GrobMotor.py +0 -0
  207. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/GrobSampleChanger.py +0 -0
  208. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Harvester.py +0 -0
  209. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/HarvesterMaintenance.py +0 -0
  210. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ISARAMaint.py +0 -0
  211. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/EPICSActuator.py +0 -0
  212. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/EPICSMotor.py +0 -0
  213. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/EPICSNState.py +0 -0
  214. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSAperture.py +0 -0
  215. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSBeam.py +0 -0
  216. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSCamera.py +0 -0
  217. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSCollect.py +0 -0
  218. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSDetDistMotor.py +0 -0
  219. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSDiffractometer.py +0 -0
  220. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSEnergy.py +0 -0
  221. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSPilatusDet.py +0 -0
  222. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSSlits.py +0 -0
  223. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSTransmission.py +0 -0
  224. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/LNLSZoom.py +0 -0
  225. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/__init__.py +0 -0
  226. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/read_transmission_mnc.py +0 -0
  227. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LNLS/set_transmission_mnc.py +0 -0
  228. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LdapAuthenticator.py +0 -0
  229. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Lima2Detector.py +0 -0
  230. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LimaEigerDetector.py +0 -0
  231. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/LimaPilatusDetector.py +0 -0
  232. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/ISPyBLims.py +0 -0
  233. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py +0 -0
  234. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/MachInfo.py +0 -0
  235. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/__init__.py +0 -0
  236. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline.py +0 -0
  237. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/MicroMAX/beamline_actions.py +0 -0
  238. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/__init__.py +0 -0
  239. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/beamline.py +0 -0
  240. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MAXIV/session.py +0 -0
  241. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MD2Motor.py +0 -0
  242. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MD3UP.py +0 -0
  243. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MachCurrent.py +0 -0
  244. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Mar225.py +0 -0
  245. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Marvin.py +0 -0
  246. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Microdiff.py +0 -0
  247. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffActuator.py +0 -0
  248. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffAperture.py +0 -0
  249. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffBeamstop.py +0 -0
  250. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffFocusMotor.py +0 -0
  251. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffInOut.py +0 -0
  252. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffKappaMotor.py +0 -0
  253. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffLight.py +0 -0
  254. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffLightBeamstop.py +0 -0
  255. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffMotor.py +0 -0
  256. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffSamplePseudo.py +0 -0
  257. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MicrodiffZoom.py +0 -0
  258. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MiniKappaCorrection.py +0 -0
  259. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MinidiffAperture.py +0 -0
  260. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MotorWPositions.py +0 -0
  261. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MotorsNPosition.py +0 -0
  262. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/MultiplePositions.py +0 -0
  263. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/NState.py +0 -0
  264. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Native/__init__.py +0 -0
  265. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ObjectsController.py +0 -0
  266. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/PlateManipulator.py +0 -0
  267. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/PlateManipulatorMaintenance.py +0 -0
  268. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/ProposalTypeISPyBLims.py +0 -0
  269. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/PyISPyBClient.py +0 -0
  270. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtAxisCamera.py +0 -0
  271. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtGraphicsLib.py +0 -0
  272. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtGraphicsManager.py +0 -0
  273. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtInstanceServer.py +0 -0
  274. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtLimaVideo.py +0 -0
  275. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QtTangoLimaVideo.py +0 -0
  276. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QueueManager.py +0 -0
  277. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/QueueModel.py +0 -0
  278. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/RedisClient.py +0 -0
  279. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Resolution.py +0 -0
  280. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SC3.py +0 -0
  281. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Attenuator.py +0 -0
  282. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1BeamInfo.py +0 -0
  283. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1CatsMaint.py +0 -0
  284. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Collect.py +0 -0
  285. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Configuration.py +0 -0
  286. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Cryotong.py +0 -0
  287. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1DetectorDistance.py +0 -0
  288. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Energy.py +0 -0
  289. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1EnergyScan.py +0 -0
  290. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Environment.py +0 -0
  291. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1MiniDiff.py +0 -0
  292. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pilatus.py +0 -0
  293. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pss.py +0 -0
  294. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Resolution.py +0 -0
  295. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/PX1TangoLight.py +0 -0
  296. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX1/__init__.py +0 -0
  297. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Attenuator.py +0 -0
  298. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2BeamInfo.py +0 -0
  299. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Collect.py +0 -0
  300. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py +0 -0
  301. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Energy.py +0 -0
  302. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Guillotine.py +0 -0
  303. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Qt4_LimaVideo.py +0 -0
  304. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Resolution.py +0 -0
  305. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Video.py +0 -0
  306. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/PX2/__init__.py +0 -0
  307. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILCatsMaint.py +0 -0
  308. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILEnergyScan.py +0 -0
  309. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILFlux.py +0 -0
  310. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILGuillotine.py +0 -0
  311. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILISPyBClient.py +0 -0
  312. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILMachineInfo.py +0 -0
  313. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILPss.py +0 -0
  314. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILRuche.py +0 -0
  315. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILSafetyShutter.py +0 -0
  316. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILSession.py +0 -0
  317. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/SOLEILqueue_entry.py +0 -0
  318. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/TangoDCMotor.py +0 -0
  319. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SOLEIL/__init__.py +0 -0
  320. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SampleStage.py +0 -0
  321. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SampleView.py +0 -0
  322. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SardanaMotor.py +0 -0
  323. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SecureXMLRpcRequestHandler.py +0 -0
  324. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Session.py +0 -0
  325. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SimpleHTML.py +0 -0
  326. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecMotor.py +0 -0
  327. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecMotorWPositions.py +0 -0
  328. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecMotorWSpecPositions.py +0 -0
  329. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecScan.py +0 -0
  330. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecShell.py +0 -0
  331. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/SpecState.py +0 -0
  332. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/StateMachine.py +0 -0
  333. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoLimaMpegVideo.py +0 -0
  334. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoLimaVideo.py +0 -0
  335. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoLimaVideoDevice.py +0 -0
  336. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoMachineInfo.py +0 -0
  337. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoMotor.py +0 -0
  338. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/TangoShutter.py +0 -0
  339. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/Transmission.py +0 -0
  340. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/UnitTest.py +0 -0
  341. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/UserTypeISPyBLims.py +0 -0
  342. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/VimbaVideo.py +0 -0
  343. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XMLRPCServer.py +0 -0
  344. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XRFSpectrum.py +0 -0
  345. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataAutoprocv1_0.py +0 -0
  346. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataCommon.py +0 -0
  347. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataControlDozorv1_1.py +0 -0
  348. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataMXCuBEv1_3.py +0 -0
  349. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataMXCuBEv1_4.py +0 -0
  350. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/XSDataMXv1.py +0 -0
  351. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/__init__.py +0 -0
  352. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractActuator.py +0 -0
  353. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractAperture.py +0 -0
  354. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractAuthenticator.py +0 -0
  355. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractBeam.py +0 -0
  356. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractCharacterisation.py +0 -0
  357. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractCollect.py +0 -0
  358. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractDetector.py +0 -0
  359. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractEnergy.py +0 -0
  360. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractEnergyScan.py +0 -0
  361. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractFlux.py +0 -0
  362. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractLims.py +0 -0
  363. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractMCA.py +0 -0
  364. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractMachineInfo.py +0 -0
  365. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractMotor.py +0 -0
  366. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractNState.py +0 -0
  367. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractOnlineProcessing.py +0 -0
  368. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractProcedure.py +0 -0
  369. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractResolution.py +0 -0
  370. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractSampleChanger.py +0 -0
  371. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractSampleView.py +0 -0
  372. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractShutter.py +0 -0
  373. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractSlits.py +0 -0
  374. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractTransmission.py +0 -0
  375. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractVideoDevice.py +0 -0
  376. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractXRFSpectrum.py +0 -0
  377. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/AbstractXrayCentring.py +0 -0
  378. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/ISPyBAbstractLims.py +0 -0
  379. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/ISPyBDataAdapter.py +0 -0
  380. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/ISPyBValueFactory.py +0 -0
  381. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/__init__.py +0 -0
  382. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Component.py +0 -0
  383. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Container.py +0 -0
  384. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Crims.py +0 -0
  385. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/sample_changer/Sample.py +0 -0
  386. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/abstract/sample_changer/__init__.py +0 -0
  387. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/autoprocessing.py +0 -0
  388. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/edna_test_data.py +0 -0
  389. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ActuatorMockup.py +0 -0
  390. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ApertureMockup.py +0 -0
  391. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/BeamDefinerMockup.py +0 -0
  392. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/BeamMockup.py +0 -0
  393. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/BeamlineActionsMockup.py +0 -0
  394. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/BeamlineTestMockup.py +0 -0
  395. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/BeamstopMockup.py +0 -0
  396. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/CatsMaintMockup.py +0 -0
  397. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/CollectMockup.py +0 -0
  398. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/DetectorMockup.py +0 -0
  399. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/DiffractometerMockup.py +0 -0
  400. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/DoorInterlockMockup.py +0 -0
  401. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/EDNACharacterisationMockup.py +0 -0
  402. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/EnergyMockup.py +0 -0
  403. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/EnergyScanMockup.py +0 -0
  404. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ExporterNStateMockup.py +0 -0
  405. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/FluxMockup.py +0 -0
  406. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/HarvesterMockup.py +0 -0
  407. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ISPyBClientMockup.py +0 -0
  408. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ISPyBRestClientMockup.py +0 -0
  409. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/LimaDetectorMockup.py +0 -0
  410. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MDCameraMockup.py +0 -0
  411. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MachineInfoMockup.py +0 -0
  412. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MicrodiffApertureMockup.py +0 -0
  413. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MicrodiffInOutMockup.py +0 -0
  414. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MicrodiffZoomMockup.py +0 -0
  415. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MotorMockup.py +0 -0
  416. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MotorMockupBis.py +0 -0
  417. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/MultiCollectMockup.py +0 -0
  418. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/OfflineProcessingMockup.py +0 -0
  419. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/OnlineProcessingMockup.py +0 -0
  420. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/PlateManipulatorMockup.py +0 -0
  421. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/PlottingMockup.py +0 -0
  422. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ProcedureMockup.py +0 -0
  423. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/QtVideoMockup.py +0 -0
  424. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ResolutionMockup.py +0 -0
  425. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/SOLEILCharacterisationMockup.py +0 -0
  426. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/SampleChangerMockup.py +0 -0
  427. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ScanMockup.py +0 -0
  428. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ShapeHistoryMockup.py +0 -0
  429. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/ShutterMockup.py +0 -0
  430. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/SlitsMockup.py +0 -0
  431. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/TransmissionMockup.py +0 -0
  432. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/XRFMockup.py +0 -0
  433. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/XRFSpectrumMockup.py +0 -0
  434. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/XrayCentringMockup.py +0 -0
  435. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/__init__.py +0 -0
  436. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/mockup/sample.jpg +0 -0
  437. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareObjects/sample_centring.py +0 -0
  438. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/HardwareRepository.py +0 -0
  439. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/Poller.py +0 -0
  440. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/TaskUtils.py +0 -0
  441. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/__init__.py +0 -0
  442. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/__version__.py +0 -0
  443. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/dispatcher.py +0 -0
  444. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/__init__.py +0 -0
  445. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/common.py +0 -0
  446. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/configmodel.py +0 -0
  447. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/crystal_symmetry.py +0 -0
  448. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/lims_session.py +0 -0
  449. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/procedure_model.py +0 -0
  450. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/protocols/__init__.py +0 -0
  451. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/protocols/epics.py +0 -0
  452. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/protocols/exporter.py +0 -0
  453. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/protocols/sardana.py +0 -0
  454. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/protocols/tango.py +0 -0
  455. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/queue_model_enumerables.py +0 -0
  456. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/model/queue_model_objects.py +0 -0
  457. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/protocols_config.py +0 -0
  458. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/__init__.py +0 -0
  459. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/advanced_connector.py +0 -0
  460. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/base_queue_entry.py +0 -0
  461. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/characterisation.py +0 -0
  462. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/data_collection.py +0 -0
  463. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/energy_scan.py +0 -0
  464. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/generic_workflow.py +0 -0
  465. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/import_helper.py +0 -0
  466. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/optical_centring.py +0 -0
  467. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/sample_centring.py +0 -0
  468. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/test_collection.py +0 -0
  469. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/xray_centering.py +0 -0
  470. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/xray_centering2.py +0 -0
  471. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/queue_entry/xrf_spectrum.py +0 -0
  472. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/saferef.py +0 -0
  473. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/utils/__init__.py +0 -0
  474. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/utils/conversion.py +0 -0
  475. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/utils/qt_import.py +0 -0
  476. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/utils/tango.py +0 -0
  477. {mxcubecore-1.382.0 → mxcubecore-1.384.0}/mxcubecore/utils/units.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mxcubecore
3
- Version: 1.382.0
3
+ Version: 1.384.0
4
4
  Summary: Core libraries for the MXCuBE application
5
5
  License: LGPL-3.0-or-later
6
6
  Keywords: mxcube,mxcube3,mxcubecore
@@ -0,0 +1,435 @@
1
+ # encoding: utf-8
2
+ #
3
+ # Project name: MXCuBE
4
+ # https://github.com/mxcube.
5
+ #
6
+ # This file is part of MXCuBE software.
7
+ #
8
+ # MXCuBE is free software: you can redistribute it and/or modify
9
+ # it under the terms of the GNU Lesser General Public License as published by
10
+ # the Free Software Foundation, either version 3 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # MXCuBE is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU Lesser General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Lesser Public License
19
+ # along with MXCuBE. If not, see <http://www.gnu.org/licenses/>.
20
+
21
+ """
22
+ Example xml_ configuration:
23
+
24
+ .. code-block:: xml
25
+
26
+ <object class="ESRF.ESRFXRFSpectrum">
27
+ <object href="/bliss" role="controller"/>
28
+ <cfgfile>/users/blissadm/local/beamline_configuration/misc/15keV.cfg</cfgfile>
29
+ <default_integration_time>3</default_integration_time>
30
+ <default_energy_range>[2.0, 15]</default_energy_range>
31
+ <cfg_energies>[15]</cfg_energies>
32
+ </object>
33
+ """
34
+
35
+ __copyright__ = """ Copyright © by the MXCuBE collaboration """
36
+ __license__ = "LGPLv3+"
37
+
38
+
39
+ import logging
40
+ import subprocess
41
+ import time
42
+ from datetime import datetime as dt
43
+ from pathlib import Path
44
+ from shutil import copy2
45
+ from zoneinfo import ZoneInfo
46
+
47
+ import numpy as np
48
+ from gevent import event, spawn
49
+
50
+ from mxcubecore import HardwareRepository as HWR
51
+ from mxcubecore.HardwareObjects.abstract.AbstractEnergyScan import AbstractEnergyScan
52
+
53
+
54
+ class GetStaticParameters:
55
+ def __init__(self, config_file, element, edge):
56
+ self.element = element
57
+ self.edge = edge
58
+ self.pars_dict = {}
59
+ self.pars_dict = self._read_from_file(config_file)
60
+
61
+ def _read_from_file(self, config_file):
62
+ with Path(config_file).open("r") as fp:
63
+ array = []
64
+ for line in fp:
65
+ if not line.startswith("#") and self.element in line:
66
+ array = line.split()
67
+ break
68
+
69
+ try:
70
+ static_pars = {}
71
+ static_pars["atomic_nb"] = int(array[0])
72
+ static_pars["eroi_min"] = float(array[11]) / 1000.0
73
+ static_pars["eroi_max"] = float(array[12]) / 1000.0
74
+
75
+ if "K" in self.edge:
76
+ th_energy = float(array[3]) / 1000.0
77
+ elif "1" in self.edge:
78
+ # L1
79
+ th_energy = float(array[6]) / 1000.0
80
+ elif "2" in self.edge:
81
+ # L2
82
+ th_energy = float(array[7]) / 1000.0
83
+ else:
84
+ # L or L3
85
+ th_energy = float(array[8]) / 1000.0
86
+
87
+ # all the values are in keV
88
+ static_pars["edgeEnergy"] = th_energy
89
+ static_pars["startEnergy"] = th_energy - 0.05
90
+ static_pars["endEnergy"] = th_energy + 0.05
91
+ static_pars["findattEnergy"] = th_energy + 0.03
92
+ static_pars["remoteEnergy"] = th_energy + 1
93
+ except TypeError:
94
+ return {}
95
+ return static_pars
96
+ return {}
97
+
98
+
99
+ class ESRFEnergyScan(AbstractEnergyScan):
100
+ def __init__(self, name):
101
+ super().__init__(name)
102
+ self.ctrl = None
103
+
104
+ def execute_command(self, command_name, *args, **kwargs):
105
+ wait = kwargs.get("wait", True)
106
+ cmd_obj = self.get_command_object(command_name)
107
+ return cmd_obj(*args, wait=wait)
108
+
109
+ def init(self):
110
+ self.ctrl = self.get_object_by_role("controller")
111
+ self.ready_event = event.Event()
112
+ if HWR.beamline.lims is None:
113
+ logging.getLogger("HWR").warning(
114
+ "EnergyScan: you should specify the database hardware object"
115
+ )
116
+
117
+ def is_connected(self):
118
+ return True
119
+
120
+ def get_static_parameters(self, config_file: str, element: str, edge: str) -> dict:
121
+ """Get the static parameters for form the config file.
122
+ Args:
123
+ config_file(str): File to read the configuration from (full path).
124
+ element(str): Element acronym as in the periodic table of elements.
125
+ edge(str): edge line (K, L1, L2, L3)
126
+ """
127
+ pars = GetStaticParameters(config_file, element, edge).pars_dict
128
+
129
+ offset_kev = self.get_property("offset_keV")
130
+ pars["startEnergy"] += offset_kev
131
+ pars["endEnergy"] += offset_kev
132
+ pars["element"] = element
133
+
134
+ return pars
135
+
136
+ def escan_prepare(self):
137
+ """Set the nesessary equipment in position for the scan."""
138
+ self.ctrl.detcover.set_in()
139
+ self.ctrl.diffractometer.fldet_in()
140
+ self.ctrl.diffractometer.set_phase("DataCollection")
141
+
142
+ def escan_postscan(self):
143
+ """Actions done after the scan finished."""
144
+ self.ctrl.diffractometer.fldet_out()
145
+
146
+ def escan_cleanup(self):
147
+ """Cleanup actions."""
148
+ self.close_fast_shutter()
149
+ HWR.beamline.safety_shutter.close()
150
+ self.emit("energyScanFailed", ())
151
+ self.ready_event.set()
152
+
153
+ def close_fast_shutter(self):
154
+ self.ctrl.diffractometer.msclose()
155
+
156
+ def open_fast_shutter(self):
157
+ self.ctrl.diffractometer.msopen()
158
+
159
+ def cancelEnergyScan(self, *args):
160
+ """Called by queue_entry.py. To be removed"""
161
+ self.escan_cleanup()
162
+
163
+ def store_energy_scan(self):
164
+ if HWR.beamline.lims is None:
165
+ return
166
+ try:
167
+ int(self.energy_scan_parameters["sessionId"])
168
+ except (TypeError, KeyError):
169
+ return
170
+
171
+ # remove unnecessary for ISPyB fields:
172
+ self.energy_scan_parameters.pop("prefix")
173
+ self.energy_scan_parameters.pop("eroi_min")
174
+ self.energy_scan_parameters.pop("eroi_max")
175
+ self.energy_scan_parameters.pop("findattEnergy")
176
+ self.energy_scan_parameters.pop("edge")
177
+ self.energy_scan_parameters.pop("directory")
178
+ self.energy_scan_parameters.pop("atomic_nb")
179
+
180
+ spawn(store_energy_scan_thread, HWR.beamline.lims, self.energy_scan_parameters)
181
+
182
+ def do_chooch(
183
+ self, elt: str, edge: str, directory: str, archive_directory: str, prefix: str
184
+ ):
185
+ """Execute peak and IP calculation with chooch.
186
+ Args:
187
+ elt(str): Element acrony as in the periodic table of elements.
188
+ edge(str): Edge like (K, L1, L2, L3).
189
+ directory(str): raw data directory (fill path).
190
+ archive_director(str): archive data directory (fill path).
191
+ prefix(str): File root prefix.
192
+ """
193
+ self.energy_scan_parameters["endTime"] = time.strftime("%Y-%m-%d %H:%M:%S")
194
+
195
+ raw_data_file = Path(directory) / "data.raw"
196
+
197
+ archive_prefix = f"{prefix}_{elt}_{edge}"
198
+ raw_scan_file = Path(directory) / (archive_prefix + ".raw")
199
+ efs_scan_file = raw_scan_file.with_suffix(".efs")
200
+ raw_arch_file = Path(archive_directory) / (archive_prefix + "1" + ".raw")
201
+
202
+ i = 0
203
+ while Path(raw_arch_file).is_file():
204
+ i += 1
205
+ raw_arch_file = Path(archive_directory) / (archive_prefix + str(i) + ".raw")
206
+
207
+ png_scan_file = raw_scan_file.with_suffix(".png")
208
+ png_arch_file = raw_arch_file.with_suffix(".png")
209
+
210
+ if not Path(archive_directory).exists():
211
+ Path(archive_directory).mkdir(parents=True)
212
+
213
+ try:
214
+ with Path(raw_scan_file).open("w") as fp:
215
+ scan_data = []
216
+ with Path(raw_data_file).open("r") as raw_file:
217
+ for line in raw_file.readlines()[2:]:
218
+ try:
219
+ x, y = line.split("\t")
220
+ except (AttributeError, ValueError):
221
+ x, y = line.split()
222
+ x = float(x.strip())
223
+ y = float(y.strip())
224
+ scan_data.append((x, y))
225
+ fp.write("%f,%f\r\n" % (x, y))
226
+ except IOError:
227
+ self.store_energy_scan()
228
+ self.emit("energyScanFailed", ())
229
+ return ()
230
+
231
+ # create the gallery directory
232
+ g_dir = Path(directory).parent / "gallery"
233
+ if not Path(g_dir).exists():
234
+ Path(g_dir).mkdir(parents=True)
235
+
236
+ copy2(raw_scan_file, raw_arch_file)
237
+ copy2(raw_scan_file, g_dir / raw_arch_file.name)
238
+ self.energy_scan_parameters["scanFileFullPath"] = raw_arch_file
239
+
240
+ # while waiting for chooch to work...
241
+ subprocess.call(
242
+ [
243
+ "/cvmfs/sb.esrf.fr/bin/chooch",
244
+ "-e",
245
+ elt,
246
+ "-a",
247
+ edge,
248
+ "-o",
249
+ efs_scan_file,
250
+ "-g",
251
+ png_scan_file,
252
+ raw_data_file,
253
+ ]
254
+ )
255
+ time.sleep(5)
256
+ with Path(efs_scan_file).open("r") as fp:
257
+ for _ in range(3):
258
+ next(fp)
259
+ nparr = np.array([list(map(float, line.split())) for line in fp])
260
+ fpp_peak = nparr[:, 1].max()
261
+ idx = np.where(nparr[:, 1] == fpp_peak)
262
+ pk = nparr[:, 0][idx][0] / 1000.0
263
+ fp_peak = nparr[:, 2][idx][0]
264
+ fpp_infl = nparr[:, 2].min()
265
+ idx = np.where(nparr[:, 2] == fpp_infl)
266
+ ip = nparr[:, 0][idx][0] / 1000.0
267
+ fp_infl = nparr[:, 1][idx][0]
268
+ # get the threshold from the theoretical edge [keV]
269
+ th_t = self.get_property("theoritical_edge_threshold", 0.03)
270
+ rm = pk + th_t
271
+
272
+ th_edge = float(self.energy_scan_parameters["edgeEnergy"])
273
+
274
+ msg = f"Chooch results: pk = {pk}, ip = {ip}. rm = {rm}.\n"
275
+ msg += f"Theoretical edge: {th_edge}."
276
+ logging.getLogger("HWR").info(msg)
277
+
278
+ # +- shift from the theoretical edge [eV]
279
+ edge_shift = 50
280
+ calc_shift = (th_edge - pk) * 1000
281
+ if abs(calc_shift) > edge_shift:
282
+ rm = th_edge + th_t
283
+ comm = "below" if calc_shift > edge_shift else "above"
284
+ msg = f"Calculated peak {pk} is more than {edge_shift} eV {comm} "
285
+ msg += f"the theoretical value {th_edge}. "
286
+ self.energy_scan_parameters["comments"] = msg
287
+ msg += "Check your scan and choose the energies manually"
288
+ logging.getLogger("user_level_log").info(msg)
289
+ pk = 0
290
+ ip = 0
291
+
292
+ efs_arch_file = raw_arch_file.with_suffix(".efs")
293
+ if Path(efs_scan_file).is_file():
294
+ copy2(efs_scan_file, efs_arch_file)
295
+ copy2(efs_scan_file, g_dir / efs_arch_file.name)
296
+ else:
297
+ self.store_energy_scan()
298
+ self.emit("energyScanFailed", ())
299
+ return ()
300
+
301
+ self.energy_scan_parameters["filename"] = raw_arch_file.name
302
+ self.energy_scan_parameters["peakEnergy"] = pk
303
+ self.energy_scan_parameters["inflectionEnergy"] = ip
304
+ self.energy_scan_parameters["remoteEnergy"] = rm
305
+ self.energy_scan_parameters["peakFPrime"] = fp_peak
306
+ self.energy_scan_parameters["peakFDoublePrime"] = fpp_peak
307
+ self.energy_scan_parameters["inflectionFPrime"] = fp_infl
308
+ self.energy_scan_parameters["inflectionFDoublePrime"] = fpp_infl
309
+
310
+ logging.getLogger("HWR").info("Saving png")
311
+ # prepare to save png files
312
+ title = "%10s %6s %6s\n%10s %6.2f %6.2f\n%10s %6.2f %6.2f" % (
313
+ "energy",
314
+ "f'",
315
+ "f''",
316
+ pk,
317
+ fp_peak,
318
+ fpp_peak,
319
+ ip,
320
+ fp_infl,
321
+ fpp_infl,
322
+ )
323
+ if Path(png_scan_file).is_file():
324
+ copy2(png_scan_file, png_arch_file)
325
+ copy2(png_scan_file, g_dir / png_arch_file.name)
326
+ else:
327
+ self.store_energy_scan()
328
+ self.emit("energyScanFailed", ())
329
+ return ()
330
+
331
+ self.energy_scan_parameters["jpegChoochFileFullPath"] = str(png_arch_file)
332
+ self.store_energy_scan()
333
+
334
+ self.emit(
335
+ "chooch_finished",
336
+ (
337
+ pk,
338
+ fpp_peak,
339
+ fp_peak,
340
+ ip,
341
+ fpp_infl,
342
+ fp_infl,
343
+ rm,
344
+ title,
345
+ ),
346
+ )
347
+ return (
348
+ pk,
349
+ fpp_peak,
350
+ fp_peak,
351
+ ip,
352
+ fpp_infl,
353
+ fp_infl,
354
+ rm,
355
+ [],
356
+ [],
357
+ [],
358
+ title,
359
+ )
360
+
361
+ def energy_scan_hook(self, energy_scan_parameters: dict):
362
+ """
363
+ Execute actions, required before running the raw scan(like changing
364
+ undulator gaps, move to a given energy... These are in general
365
+ beamline specific actions.
366
+ """
367
+ if self.energy_scan_parameters["findattEnergy"]:
368
+ HWR.beamline.energy.set_value(energy_scan_parameters["findattEnergy"])
369
+
370
+ def set_mca_roi(self, eroi_min, eroi_max):
371
+ self.energy_scan_parameters["fluorescenceDetector"] = "KETEK_AXAS-A"
372
+ # check if roi in eV or keV
373
+ if eroi_min > 1000:
374
+ eroi_min /= 1000.0
375
+ eroi_max /= 1000.0
376
+ self.ctrl.mca.set_roi(
377
+ eroi_min,
378
+ eroi_max,
379
+ channel=1,
380
+ element=self.energy_scan_parameters["element"],
381
+ atomic_nb=self.energy_scan_parameters["atomic_nb"],
382
+ )
383
+
384
+ def choose_attenuation(self):
385
+ """Choose the appropriate attenuation to execute the scan"""
386
+ eroi_min = self.energy_scan_parameters["eroi_min"]
387
+ eroi_max = self.energy_scan_parameters["eroi_max"]
388
+ self.ctrl.detcover.set_in()
389
+ mcafile = Path(self.energy_scan_parameters["directory"]) / "mca.raw"
390
+ self.ctrl.find_max_attenuation(
391
+ ctime=2, roi=[eroi_min, eroi_max], datafile=mcafile
392
+ )
393
+ self.energy_scan_parameters["transmissionFactor"] = (
394
+ HWR.beamline.transmission.get_value()
395
+ )
396
+
397
+ def execute_energy_scan(self, energy_scan_parameters: dict):
398
+ """
399
+ Execute the raw scan sequence. Here is where you pass whatever
400
+ parameters you need to run the raw scan (e.g start/end energy,
401
+ counting time, energy step...).
402
+ """
403
+ start_en = energy_scan_parameters["startEnergy"]
404
+ end_en = energy_scan_parameters["endEnergy"]
405
+ dd = dt.now(tz=ZoneInfo("Europe/Paris"))
406
+ fname = "%s/%s_%s_%s_%s.scan" % (
407
+ energy_scan_parameters["directory"],
408
+ energy_scan_parameters["prefix"],
409
+ dt.datetime.strftime(dd, "%d"),
410
+ dt.datetime.strftime(dd, "%b"),
411
+ dt.datetime.strftime(dd, "%Y"),
412
+ )
413
+ self.ctrl.energy_scan.do_energy_scan(start_en, end_en, datafile=fname)
414
+ self.energy_scan_parameters["exposureTime"] = (
415
+ self.ctrl.energy_scan.exposure_time
416
+ )
417
+
418
+
419
+ def store_energy_scan_thread(db_conn, scan_info):
420
+ scan_info = dict(scan_info)
421
+ blsample_id = scan_info["blSampleId"]
422
+ scan_info.pop("blSampleId")
423
+
424
+ try:
425
+ db_status = db_conn.store_energy_scan(scan_info)
426
+ if blsample_id is not None:
427
+ try:
428
+ escan_id = int(db_status["energyScanId"])
429
+ except (NameError, KeyError):
430
+ pass
431
+ else:
432
+ asso = {"blSampleId": blsample_id, "energyScanId": escan_id}
433
+ db_conn.associate_bl_sample_and_energy_scan(asso)
434
+ except Exception:
435
+ logging.getLogger("HWR").exception("Could not store energy")