mxcubecore 1.392.0__py3-none-any.whl → 1.394.0__py3-none-any.whl
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/BaseHardwareObjects.py +1 -1
- mxcubecore/Command/Epics.py +2 -2
- mxcubecore/Command/Pool.py +4 -4
- mxcubecore/Command/Sardana.py +7 -3
- mxcubecore/Command/Taco.py +2 -2
- mxcubecore/Command/Tango.py +2 -2
- mxcubecore/Command/Tine.py +1 -1
- mxcubecore/Command/exporter/ExporterClient.py +2 -2
- mxcubecore/Command/exporter/StandardClient.py +4 -3
- mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py +4 -7
- mxcubecore/HardwareObjects/ALBA/ALBABackLight.py +6 -7
- mxcubecore/HardwareObjects/ALBA/ALBABeamInfo.py +2 -4
- mxcubecore/HardwareObjects/ALBA/ALBACats.py +19 -25
- mxcubecore/HardwareObjects/ALBA/ALBAClusterJob.py +10 -11
- mxcubecore/HardwareObjects/ALBA/ALBACollect.py +49 -71
- mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py +26 -31
- mxcubecore/HardwareObjects/ALBA/ALBAEnergy.py +1 -5
- mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py +1 -1
- mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py +1 -1
- mxcubecore/HardwareObjects/ALBA/ALBAFlux.py +2 -6
- mxcubecore/HardwareObjects/ALBA/ALBAFrontLight.py +5 -9
- mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py +4 -4
- mxcubecore/HardwareObjects/ALBA/ALBAMiniDiff.py +20 -27
- mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +12 -15
- mxcubecore/HardwareObjects/ALBA/ALBASession.py +1 -4
- mxcubecore/HardwareObjects/ALBA/ALBAZoomMotor.py +10 -14
- mxcubecore/HardwareObjects/ALBA/ALBAZoomMotorAutoBrightness.py +7 -11
- mxcubecore/HardwareObjects/ALBA/XalocMiniDiff.py +7 -8
- mxcubecore/HardwareObjects/BeamInfo.py +4 -6
- mxcubecore/HardwareObjects/Beamline.py +6 -7
- mxcubecore/HardwareObjects/BeamlineActions.py +3 -7
- mxcubecore/HardwareObjects/BlissHutchTrigger.py +3 -3
- mxcubecore/HardwareObjects/BlissMotorWPositions.py +4 -7
- mxcubecore/HardwareObjects/Cats90.py +33 -43
- mxcubecore/HardwareObjects/CatsBessy.py +1 -1
- mxcubecore/HardwareObjects/CatsMaint.py +2 -2
- mxcubecore/HardwareObjects/CentringMath.py +5 -4
- mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py +4 -4
- mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py +2 -0
- mxcubecore/HardwareObjects/DESY/P11Collect.py +7 -7
- mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py +14 -16
- mxcubecore/HardwareObjects/DESY/P11ISPyBClient.py +6 -10
- mxcubecore/HardwareObjects/DESY/P11NanoDiff.py +6 -4
- mxcubecore/HardwareObjects/DataPublisher.py +2 -3
- mxcubecore/HardwareObjects/EDNACharacterisation.py +2 -4
- mxcubecore/HardwareObjects/EMBL/EMBLBeam.py +3 -3
- mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py +2 -4
- mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py +3 -3
- mxcubecore/HardwareObjects/EMBL/EMBLBeamlineTest.py +2 -0
- mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py +1 -1
- mxcubecore/HardwareObjects/EMBL/EMBLEnergy.py +10 -18
- mxcubecore/HardwareObjects/EMBL/EMBLEnergyScan.py +10 -12
- mxcubecore/HardwareObjects/EMBL/EMBLFlux.py +10 -12
- mxcubecore/HardwareObjects/EMBL/EMBLMachineInfo.py +2 -2
- mxcubecore/HardwareObjects/EMBL/EMBLMiniDiff.py +18 -18
- mxcubecore/HardwareObjects/EMBL/EMBLMotorsGroup.py +6 -9
- mxcubecore/HardwareObjects/EMBL/EMBLOnlineProcessing.py +6 -6
- mxcubecore/HardwareObjects/EMBL/EMBLPPUControl.py +1 -1
- mxcubecore/HardwareObjects/EMBL/EMBLSSXChip.py +1 -4
- mxcubecore/HardwareObjects/EMBL/EMBLSlitBox.py +1 -3
- mxcubecore/HardwareObjects/EMBL/EMBLTableMotor.py +2 -3
- mxcubecore/HardwareObjects/EMBL/EMBLXRFSpectrum.py +4 -4
- mxcubecore/HardwareObjects/EMBL/EMBLXrayImaging.py +1 -1
- mxcubecore/HardwareObjects/EMBL/TINEMotor.py +2 -2
- mxcubecore/HardwareObjects/EMBLFlexHCD.py +5 -5
- mxcubecore/HardwareObjects/EMBLFlexHarvester.py +2 -2
- mxcubecore/HardwareObjects/ESRF/ESRFBeam.py +3 -5
- mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py +1 -5
- mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py +2 -2
- mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +3 -3
- mxcubecore/HardwareObjects/ESRF/ESRFMetadataManagerClient.py +1 -1
- mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py +7 -7
- mxcubecore/HardwareObjects/ESRF/ESRFPhotonFlux.py +2 -8
- mxcubecore/HardwareObjects/ESRF/ESRFSC3.py +11 -18
- mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py +3 -3
- mxcubecore/HardwareObjects/ESRF/MD2MultiCollect.py +4 -4
- mxcubecore/HardwareObjects/ESRF/SSXICATLIMS.py +9 -6
- mxcubecore/HardwareObjects/EdnaWorkflow.py +9 -11
- mxcubecore/HardwareObjects/Energy.py +11 -15
- mxcubecore/HardwareObjects/ExporterMotor.py +1 -2
- mxcubecore/HardwareObjects/FlexHCD.py +7 -8
- mxcubecore/HardwareObjects/FlexHCDMaintenance.py +1 -1
- mxcubecore/HardwareObjects/GenericDiffractometer.py +26 -46
- mxcubecore/HardwareObjects/Gphl/CollectEmulator.py +6 -7
- mxcubecore/HardwareObjects/Gphl/GphlQueueEntry.py +2 -2
- mxcubecore/HardwareObjects/Gphl/GphlWorkflow.py +29 -43
- mxcubecore/HardwareObjects/Gphl/GphlWorkflowConnection.py +25 -35
- mxcubecore/HardwareObjects/ICATLIMS.py +17 -13
- mxcubecore/HardwareObjects/LNLS/EPICSMotor.py +1 -4
- mxcubecore/HardwareObjects/LNLS/LNLSAperture.py +2 -5
- mxcubecore/HardwareObjects/LNLS/LNLSCamera.py +14 -16
- mxcubecore/HardwareObjects/LNLS/LNLSCollect.py +21 -29
- mxcubecore/HardwareObjects/LNLS/LNLSDetDistMotor.py +7 -11
- mxcubecore/HardwareObjects/LNLS/LNLSEnergy.py +4 -6
- mxcubecore/HardwareObjects/LNLS/LNLSPilatusDet.py +55 -51
- mxcubecore/HardwareObjects/LNLS/LNLSTransmission.py +4 -7
- mxcubecore/HardwareObjects/LdapAuthenticator.py +11 -15
- mxcubecore/HardwareObjects/Lima2Detector.py +1 -1
- mxcubecore/HardwareObjects/LimaEigerDetector.py +1 -1
- mxcubecore/HardwareObjects/LimaPilatusDetector.py +1 -4
- mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py +3 -5
- mxcubecore/HardwareObjects/MD3UP.py +1 -2
- mxcubecore/HardwareObjects/MachCurrent.py +5 -5
- mxcubecore/HardwareObjects/Marvin.py +23 -35
- mxcubecore/HardwareObjects/Microdiff.py +6 -8
- mxcubecore/HardwareObjects/MicrodiffActuator.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffBeamstop.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffInOut.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffKappaMotor.py +3 -4
- mxcubecore/HardwareObjects/MiniDiff.py +35 -57
- mxcubecore/HardwareObjects/MotorWPositions.py +4 -2
- mxcubecore/HardwareObjects/PlateManipulator.py +2 -2
- mxcubecore/HardwareObjects/ProposalTypeISPyBLims.py +8 -16
- mxcubecore/HardwareObjects/PyISPyBClient.py +8 -5
- mxcubecore/HardwareObjects/QtGraphicsLib.py +2 -2
- mxcubecore/HardwareObjects/QtGraphicsManager.py +13 -19
- mxcubecore/HardwareObjects/QtInstanceServer.py +27 -55
- mxcubecore/HardwareObjects/QtLimaVideo.py +1 -5
- mxcubecore/HardwareObjects/QueueManager.py +7 -9
- mxcubecore/HardwareObjects/QueueModel.py +6 -8
- mxcubecore/HardwareObjects/RedisClient.py +12 -16
- mxcubecore/HardwareObjects/SC3.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Attenuator.py +1 -3
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1BeamInfo.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1CatsMaint.py +3 -4
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Collect.py +11 -11
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Cryotong.py +8 -18
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Energy.py +6 -7
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1EnergyScan.py +21 -31
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Environment.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1MiniDiff.py +11 -21
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pilatus.py +9 -9
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pss.py +1 -2
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Resolution.py +1 -5
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1TangoLight.py +3 -8
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Attenuator.py +9 -13
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Collect.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py +22 -22
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Energy.py +4 -6
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Guillotine.py +2 -2
- mxcubecore/HardwareObjects/SOLEIL/SOLEILCatsMaint.py +6 -8
- mxcubecore/HardwareObjects/SOLEIL/SOLEILEnergyScan.py +44 -56
- mxcubecore/HardwareObjects/SOLEIL/SOLEILGuillotine.py +2 -2
- mxcubecore/HardwareObjects/SOLEIL/SOLEILISPyBClient.py +10 -10
- mxcubecore/HardwareObjects/SOLEIL/SOLEILMachineInfo.py +4 -8
- mxcubecore/HardwareObjects/SOLEIL/SOLEILPss.py +3 -4
- mxcubecore/HardwareObjects/SOLEIL/SOLEILRuche.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/TangoDCMotor.py +10 -16
- mxcubecore/HardwareObjects/SardanaMotor.py +4 -5
- mxcubecore/HardwareObjects/Session.py +1 -1
- mxcubecore/HardwareObjects/SpecMotorWPositions.py +5 -9
- mxcubecore/HardwareObjects/SpecMotorWSpecPositions.py +2 -4
- mxcubecore/HardwareObjects/SpecShell.py +7 -9
- mxcubecore/HardwareObjects/SpecState.py +5 -7
- mxcubecore/HardwareObjects/StateMachine.py +9 -10
- mxcubecore/HardwareObjects/TangoLimaMpegVideo.py +2 -3
- mxcubecore/HardwareObjects/TangoLimaVideo.py +3 -4
- mxcubecore/HardwareObjects/TangoMachineInfo.py +1 -3
- mxcubecore/HardwareObjects/TangoMotor.py +1 -1
- mxcubecore/HardwareObjects/UserTypeISPyBLims.py +8 -8
- mxcubecore/HardwareObjects/XMLRPCServer.py +20 -22
- mxcubecore/HardwareObjects/abstract/AbstractAperture.py +6 -11
- mxcubecore/HardwareObjects/abstract/AbstractCollect.py +6 -16
- mxcubecore/HardwareObjects/abstract/AbstractDetector.py +2 -7
- mxcubecore/HardwareObjects/abstract/AbstractEnergyScan.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractLims.py +3 -4
- mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py +6 -6
- mxcubecore/HardwareObjects/abstract/AbstractNState.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractProcedure.py +3 -4
- mxcubecore/HardwareObjects/abstract/AbstractSampleChanger.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractVideoDevice.py +5 -5
- mxcubecore/HardwareObjects/abstract/AbstractXRFSpectrum.py +2 -0
- mxcubecore/HardwareObjects/abstract/ISPyBAbstractLims.py +11 -13
- mxcubecore/HardwareObjects/abstract/ISPyBDataAdapter.py +3 -3
- mxcubecore/HardwareObjects/abstract/sample_changer/Crims.py +8 -0
- mxcubecore/HardwareObjects/mockup/BeamlineTestMockup.py +12 -13
- mxcubecore/HardwareObjects/mockup/EnergyScanMockup.py +10 -11
- mxcubecore/HardwareObjects/mockup/ISPyBClientMockup.py +6 -6
- mxcubecore/HardwareObjects/mockup/ISPyBRestClientMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/LimaDetectorMockup.py +1 -2
- mxcubecore/HardwareObjects/mockup/MDCameraMockup.py +5 -6
- mxcubecore/HardwareObjects/mockup/MicrodiffInOutMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/MultiCollectMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/ShapeHistoryMockup.py +1 -2
- mxcubecore/HardwareObjects/mockup/XRFMockup.py +3 -6
- mxcubecore/TaskUtils.py +2 -0
- mxcubecore/queue_entry/base_queue_entry.py +2 -2
- mxcubecore/queue_entry/energy_scan.py +1 -1
- mxcubecore/saferef.py +2 -1
- mxcubecore/utils/qt_import.py +8 -7
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/METADATA +1 -1
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/RECORD +195 -195
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/COPYING +0 -0
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/COPYING.LESSER +0 -0
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/WHEEL +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import base64
|
|
2
|
-
import logging
|
|
3
2
|
import pickle
|
|
4
3
|
|
|
5
4
|
import gevent
|
|
@@ -320,7 +319,7 @@ class FlexHCD(SampleChanger):
|
|
|
320
319
|
if "on_gonio" in loading_state:
|
|
321
320
|
self._set_loaded_sample(sample)
|
|
322
321
|
with gevent.Timeout(60, RuntimeError(err_msg)):
|
|
323
|
-
|
|
322
|
+
self.log.info(err_msg)
|
|
324
323
|
while not self._execute_cmd_exporter(
|
|
325
324
|
"getRobotIsSafe", attribute=True
|
|
326
325
|
):
|
|
@@ -333,7 +332,7 @@ class FlexHCD(SampleChanger):
|
|
|
333
332
|
if "on_gonio" in loading_state:
|
|
334
333
|
self._set_loaded_sample(sample)
|
|
335
334
|
with gevent.Timeout(60, RuntimeError(err_msg)):
|
|
336
|
-
|
|
335
|
+
self.log.info(err_msg)
|
|
337
336
|
while (
|
|
338
337
|
not self._execute_cmd(
|
|
339
338
|
"get_robot_cache_variable", "data:dioRobotIsSafe"
|
|
@@ -344,9 +343,9 @@ class FlexHCD(SampleChanger):
|
|
|
344
343
|
return True
|
|
345
344
|
gevent.sleep(2)
|
|
346
345
|
|
|
347
|
-
|
|
346
|
+
self.log.info("unload load task done")
|
|
348
347
|
for msg in self.get_robot_exceptions():
|
|
349
|
-
|
|
348
|
+
self.log.error(msg)
|
|
350
349
|
|
|
351
350
|
return self._check_pin_on_gonio()
|
|
352
351
|
|
|
@@ -361,7 +360,7 @@ class FlexHCD(SampleChanger):
|
|
|
361
360
|
self._prepare_centring_task()
|
|
362
361
|
return True
|
|
363
362
|
else:
|
|
364
|
-
|
|
363
|
+
self.log.info("reset loaded sample")
|
|
365
364
|
self._reset_loaded_sample()
|
|
366
365
|
# if self.controller:
|
|
367
366
|
# self.controller.hutch_actions(release_interlock=True)
|
|
@@ -392,7 +391,7 @@ class FlexHCD(SampleChanger):
|
|
|
392
391
|
res = SampleChanger.load(self, sample)
|
|
393
392
|
finally:
|
|
394
393
|
for msg in self.get_robot_exceptions():
|
|
395
|
-
|
|
394
|
+
self.log.error(msg)
|
|
396
395
|
if res:
|
|
397
396
|
self.prepare_centring()
|
|
398
397
|
return res
|
|
@@ -425,7 +424,7 @@ class FlexHCD(SampleChanger):
|
|
|
425
424
|
SampleChanger.unload(self, sample)
|
|
426
425
|
finally:
|
|
427
426
|
for msg in self.get_robot_exceptions():
|
|
428
|
-
|
|
427
|
+
self.log.error(msg)
|
|
429
428
|
|
|
430
429
|
def get_gripper(self):
|
|
431
430
|
if self.exporter_addr:
|
|
@@ -339,7 +339,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
339
339
|
# self.image_height = HWR.beamline.sample_view.camera.get_height()
|
|
340
340
|
# self.image_width = HWR.beamline.sample_view.camera.get_width()
|
|
341
341
|
# else:
|
|
342
|
-
#
|
|
342
|
+
# self.log.debug(
|
|
343
343
|
# "Diffractometer: " + "Camera hwobj is not defined"
|
|
344
344
|
# )
|
|
345
345
|
|
|
@@ -350,9 +350,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
350
350
|
)
|
|
351
351
|
else:
|
|
352
352
|
self.beam_position = [0, 0]
|
|
353
|
-
|
|
354
|
-
"Diffractometer: " + "BeamInfo hwobj is not defined"
|
|
355
|
-
)
|
|
353
|
+
self.log.warning("Diffractometer: " + "BeamInfo hwobj is not defined")
|
|
356
354
|
|
|
357
355
|
self.front_light_switch = self.get_object_by_role("frontlightswitch")
|
|
358
356
|
self.back_light_switch = self.get_object_by_role("backlightswitch")
|
|
@@ -363,7 +361,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
363
361
|
try:
|
|
364
362
|
self.used_channels_list = eval(ss0)
|
|
365
363
|
except Exception:
|
|
366
|
-
|
|
364
|
+
self.log.exception("")
|
|
367
365
|
|
|
368
366
|
for channel_name in self.used_channels_list:
|
|
369
367
|
self.channel_dict[channel_name] = self.get_channel_object(channel_name)
|
|
@@ -392,7 +390,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
392
390
|
try:
|
|
393
391
|
self.used_commands_list = eval(self.get_property("used_commands", "[]"))
|
|
394
392
|
except Exception:
|
|
395
|
-
|
|
393
|
+
self.log.exception("")
|
|
396
394
|
for command_name in self.used_commands_list:
|
|
397
395
|
self.command_dict[command_name] = self.get_command_object(command_name)
|
|
398
396
|
|
|
@@ -442,7 +440,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
442
440
|
temp_motor_hwobj, "stateChanged", self.zoom_motor_state_changed
|
|
443
441
|
)
|
|
444
442
|
else:
|
|
445
|
-
|
|
443
|
+
self.log.warning(
|
|
446
444
|
"Diffractometer: Motor "
|
|
447
445
|
+ "%s listed in the centring motor list, but not initalized"
|
|
448
446
|
% motor_name
|
|
@@ -450,9 +448,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
450
448
|
|
|
451
449
|
# sample changer -----------------------------------------------------
|
|
452
450
|
if HWR.beamline.sample_changer is None:
|
|
453
|
-
|
|
454
|
-
"Diffractometer: Sample Changer is not defined"
|
|
455
|
-
)
|
|
451
|
+
self.log.warning("Diffractometer: Sample Changer is not defined")
|
|
456
452
|
else:
|
|
457
453
|
# By default use sample changer if it's defined and transfer_mode
|
|
458
454
|
# is set to SAMPLE_CHANGER.
|
|
@@ -479,21 +475,19 @@ class GenericDiffractometer(HardwareObject):
|
|
|
479
475
|
self.motor_hwobj_dict["sampy"]
|
|
480
476
|
)
|
|
481
477
|
except Exception:
|
|
482
|
-
|
|
478
|
+
self.log.exception("")
|
|
483
479
|
|
|
484
480
|
try:
|
|
485
481
|
self.delay_state_polling = self.get_property("delay_state_polling")
|
|
486
482
|
except Exception:
|
|
487
|
-
|
|
483
|
+
self.log.exception("")
|
|
488
484
|
|
|
489
485
|
# Other parameters ---------------------------------------------------
|
|
490
486
|
try:
|
|
491
487
|
self.zoom_centre = eval(self.get_property("zoom_centre"))
|
|
492
488
|
except Exception:
|
|
493
489
|
self.zoom_centre = {"x": 0, "y": 0}
|
|
494
|
-
|
|
495
|
-
"Diffractometer: " + "zoom centre not configured"
|
|
496
|
-
)
|
|
490
|
+
self.log.warning("Diffractometer: " + "zoom centre not configured")
|
|
497
491
|
|
|
498
492
|
self.reversing_rotation = self.get_property("reversing_rotation")
|
|
499
493
|
try:
|
|
@@ -503,7 +497,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
503
497
|
self.grid_direction = eval(self.get_property("grid_direction"))
|
|
504
498
|
except Exception:
|
|
505
499
|
self.grid_direction = {"fast": (0, 1), "slow": (1, 0), "omega_ref": 0}
|
|
506
|
-
|
|
500
|
+
self.log.warning(
|
|
507
501
|
"Diffractometer: Grid " + "direction is not defined. Using default."
|
|
508
502
|
)
|
|
509
503
|
|
|
@@ -698,9 +692,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
698
692
|
if flag:
|
|
699
693
|
# check both transfer_mode and sample_Changer
|
|
700
694
|
if HWR.beamline.sample_changer is None:
|
|
701
|
-
|
|
702
|
-
"Diffractometer: Sample " + "Changer is not available"
|
|
703
|
-
)
|
|
695
|
+
self.log.error("Diffractometer: Sample " + "Changer is not available")
|
|
704
696
|
return False
|
|
705
697
|
|
|
706
698
|
if (
|
|
@@ -710,7 +702,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
710
702
|
# if transferMode is not defined, ignore the checkup
|
|
711
703
|
self.use_sc = True
|
|
712
704
|
else:
|
|
713
|
-
|
|
705
|
+
self.log.error(
|
|
714
706
|
"Diffractometer: Set the "
|
|
715
707
|
+ "diffractometer TransferMode to SAMPLE_CHANGER first!!"
|
|
716
708
|
)
|
|
@@ -723,9 +715,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
723
715
|
"""
|
|
724
716
|
Descript. :
|
|
725
717
|
"""
|
|
726
|
-
|
|
727
|
-
"current_transfer_mode is set to %s" % transfer_mode
|
|
728
|
-
)
|
|
718
|
+
self.log.info("current_transfer_mode is set to %s" % transfer_mode)
|
|
729
719
|
self.transfer_mode = transfer_mode
|
|
730
720
|
if transfer_mode != "SAMPLE_CHANGER":
|
|
731
721
|
self.use_sc = False
|
|
@@ -825,7 +815,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
825
815
|
""" """
|
|
826
816
|
|
|
827
817
|
if self.current_centring_method is not None:
|
|
828
|
-
|
|
818
|
+
self.log.error(
|
|
829
819
|
"Diffractometer: already in centring method %s"
|
|
830
820
|
% self.current_centring_method
|
|
831
821
|
)
|
|
@@ -841,17 +831,13 @@ class GenericDiffractometer(HardwareObject):
|
|
|
841
831
|
try:
|
|
842
832
|
centring_method = self.centring_methods[method]
|
|
843
833
|
except KeyError as diag:
|
|
844
|
-
|
|
845
|
-
"Diffractometer: unknown centring method (%s)" % str(diag)
|
|
846
|
-
)
|
|
834
|
+
self.log.error("Diffractometer: unknown centring method (%s)" % str(diag))
|
|
847
835
|
self.emit_centring_failed()
|
|
848
836
|
else:
|
|
849
837
|
try:
|
|
850
838
|
centring_method(sample_info, wait_result=wait)
|
|
851
839
|
except Exception:
|
|
852
|
-
|
|
853
|
-
"Diffractometer: problem while centring"
|
|
854
|
-
)
|
|
840
|
+
self.log.exception("Diffractometer: problem while centring")
|
|
855
841
|
self.emit_centring_failed()
|
|
856
842
|
|
|
857
843
|
def cancel_centring_method(self, reject=False):
|
|
@@ -859,7 +845,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
859
845
|
try:
|
|
860
846
|
self.current_centring_procedure.kill()
|
|
861
847
|
except Exception:
|
|
862
|
-
|
|
848
|
+
self.log.exception(
|
|
863
849
|
"Diffractometer: problem aborting the centring method"
|
|
864
850
|
)
|
|
865
851
|
try:
|
|
@@ -986,7 +972,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
986
972
|
self.emit_centring_moving()
|
|
987
973
|
|
|
988
974
|
try:
|
|
989
|
-
|
|
975
|
+
self.log.debug(
|
|
990
976
|
"Centring finished. Moving motors to position %s" % str(motor_pos)
|
|
991
977
|
)
|
|
992
978
|
self.move_to_motors_positions(motor_pos, wait=True)
|
|
@@ -998,9 +984,9 @@ class GenericDiffractometer(HardwareObject):
|
|
|
998
984
|
# centred positions include omega to initial position
|
|
999
985
|
pass
|
|
1000
986
|
# if not self.in_plate_mode():
|
|
1001
|
-
#
|
|
987
|
+
# self.log.debug("Centring finished. Moving omega back to initial position")
|
|
1002
988
|
# self.motor_hwobj_dict['phi'].set_value_relative(-180, timeout=None)
|
|
1003
|
-
#
|
|
989
|
+
# self.log.debug(" Moving omega done")
|
|
1004
990
|
|
|
1005
991
|
if (
|
|
1006
992
|
self.current_centring_method
|
|
@@ -1135,9 +1121,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1135
1121
|
pos["phiMotor"] = omega
|
|
1136
1122
|
self.move_to_motors_positions(pos)
|
|
1137
1123
|
except Exception:
|
|
1138
|
-
|
|
1139
|
-
"Diffractometer: could not center to beam, aborting"
|
|
1140
|
-
)
|
|
1124
|
+
self.log.exception("Diffractometer: could not center to beam, aborting")
|
|
1141
1125
|
|
|
1142
1126
|
def image_clicked(
|
|
1143
1127
|
self, x: float, y: float, xi: float | None = None, yi: float | None = None
|
|
@@ -1245,7 +1229,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1245
1229
|
self.current_centring_method = None
|
|
1246
1230
|
self.current_centring_procedure = None
|
|
1247
1231
|
else:
|
|
1248
|
-
|
|
1232
|
+
self.log.debug(
|
|
1249
1233
|
"Diffractometer: Trying to emit "
|
|
1250
1234
|
+ "centringSuccessful outside of a centring"
|
|
1251
1235
|
)
|
|
@@ -1412,7 +1396,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1412
1396
|
self.sample_is_loaded_changed,
|
|
1413
1397
|
)
|
|
1414
1398
|
except Exception:
|
|
1415
|
-
|
|
1399
|
+
self.log.exception("")
|
|
1416
1400
|
|
|
1417
1401
|
if (
|
|
1418
1402
|
head_type == GenericDiffractometer.HEAD_TYPE_MINIKAPPA
|
|
@@ -1424,7 +1408,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1424
1408
|
self.sample_is_loaded_changed,
|
|
1425
1409
|
)
|
|
1426
1410
|
else:
|
|
1427
|
-
|
|
1411
|
+
self.log.info(
|
|
1428
1412
|
"Diffractometer: SmartMagnet "
|
|
1429
1413
|
+ "is not available, only works for Minikappa and SmartMagnet head"
|
|
1430
1414
|
)
|
|
@@ -1469,9 +1453,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1469
1453
|
try:
|
|
1470
1454
|
data = GonioHeadConfiguration(**chip_def)
|
|
1471
1455
|
except ValidationError:
|
|
1472
|
-
|
|
1473
|
-
"Validation error in %s" % chip_def_fpath
|
|
1474
|
-
)
|
|
1456
|
+
self.log.exception("Validation error in %s" % chip_def_fpath)
|
|
1475
1457
|
|
|
1476
1458
|
return data
|
|
1477
1459
|
|
|
@@ -1488,9 +1470,7 @@ class GenericDiffractometer(HardwareObject):
|
|
|
1488
1470
|
try:
|
|
1489
1471
|
GonioHeadConfiguration(**data)
|
|
1490
1472
|
except ValidationError:
|
|
1491
|
-
|
|
1492
|
-
"Validation error in %s" % chip_def_fpath
|
|
1493
|
-
)
|
|
1473
|
+
self.log.exception("Validation error in %s" % chip_def_fpath)
|
|
1494
1474
|
else:
|
|
1495
1475
|
_f.write(json.dumps(data, indent=4))
|
|
1496
1476
|
|
|
@@ -21,7 +21,6 @@ You should have received a copy of the GNU Lesser General Public License
|
|
|
21
21
|
along with MXCuBE. If not, see <https://www.gnu.org/licenses/>.
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
import logging
|
|
25
24
|
import os
|
|
26
25
|
import re
|
|
27
26
|
import subprocess
|
|
@@ -296,8 +295,8 @@ class CollectEmulator(CollectMockup):
|
|
|
296
295
|
|
|
297
296
|
for tag, val in self.config.simcal_options.items():
|
|
298
297
|
command_list.extend(conversion.command_option(tag, val, prefix="--"))
|
|
299
|
-
|
|
300
|
-
|
|
298
|
+
self.log.info("Executing command: %s", " ".join(command_list))
|
|
299
|
+
self.log.info("Executing environment: %s", sorted(envs.items()))
|
|
301
300
|
|
|
302
301
|
if compress_data:
|
|
303
302
|
command_list.append("--gzip-img")
|
|
@@ -323,23 +322,23 @@ class CollectEmulator(CollectMockup):
|
|
|
323
322
|
# # NBNB leaving this in causes simulations to be killed and missing images
|
|
324
323
|
# super(CollectEmulator, self).data_collection_hook()
|
|
325
324
|
|
|
326
|
-
|
|
325
|
+
self.log.info("Waiting for simcal collection emulation.")
|
|
327
326
|
# NBNB TODO put in time-out, somehow
|
|
328
327
|
return_code = running_process.wait()
|
|
329
328
|
except Exception:
|
|
330
|
-
|
|
329
|
+
self.log.error("Error in GΦL collection emulation")
|
|
331
330
|
raise
|
|
332
331
|
finally:
|
|
333
332
|
fp1.close()
|
|
334
333
|
process = gphl_connection.collect_emulator_process
|
|
335
334
|
gphl_connection.collect_emulator_process = None
|
|
336
335
|
if process == "ABORTED":
|
|
337
|
-
|
|
336
|
+
self.log.info("Simcal collection emulation aborted")
|
|
338
337
|
elif return_code:
|
|
339
338
|
raise RuntimeError(
|
|
340
339
|
"simcal process terminated with return code %s" % return_code
|
|
341
340
|
)
|
|
342
341
|
else:
|
|
343
|
-
|
|
342
|
+
self.log.info("Simcal collection emulation successful")
|
|
344
343
|
self.ready_event.set()
|
|
345
344
|
return
|
|
@@ -49,7 +49,7 @@ class GphlWorkflowQueueEntry(BaseQueueEntry):
|
|
|
49
49
|
)
|
|
50
50
|
HWR.beamline.gphl_workflow.post_execute()
|
|
51
51
|
HWR.beamline.gphl_workflow.pre_execute(self)
|
|
52
|
-
|
|
52
|
+
self.log.debug("Done GphlWorkflowQueueEntry.pre_execute")
|
|
53
53
|
|
|
54
54
|
def post_execute(self):
|
|
55
55
|
BaseQueueEntry.post_execute(self)
|
|
@@ -60,5 +60,5 @@ class GphlWorkflowQueueEntry(BaseQueueEntry):
|
|
|
60
60
|
def stop(self):
|
|
61
61
|
HWR.beamline.gphl_workflow.workflow_aborted("Dummy", "Dummy")
|
|
62
62
|
BaseQueueEntry.stop(self)
|
|
63
|
-
|
|
63
|
+
self.log.info("MXCuBE aborting current GΦL workflow")
|
|
64
64
|
self.get_view().setText(1, "Stopped")
|
|
@@ -492,10 +492,10 @@ class GphlWorkflow(HardwareObject):
|
|
|
492
492
|
}
|
|
493
493
|
fields["input_space_group"] = {
|
|
494
494
|
"title": "Space Group",
|
|
495
|
-
"default":
|
|
496
|
-
data_model.input_space_group
|
|
497
|
-
|
|
498
|
-
|
|
495
|
+
"default": (
|
|
496
|
+
crystal_symmetry.regularise_space_group(data_model.input_space_group)
|
|
497
|
+
or ""
|
|
498
|
+
),
|
|
499
499
|
"type": "string",
|
|
500
500
|
"readOnly": True,
|
|
501
501
|
}
|
|
@@ -938,13 +938,13 @@ class GphlWorkflow(HardwareObject):
|
|
|
938
938
|
|
|
939
939
|
tt0 = self._workflow_queue.get()
|
|
940
940
|
if tt0 is StopIteration:
|
|
941
|
-
|
|
941
|
+
self.log.debug("GΦL queue StopIteration")
|
|
942
942
|
break
|
|
943
943
|
|
|
944
944
|
message_type, payload, correlation_id, result_list = tt0
|
|
945
945
|
func = self._processor_functions.get(message_type)
|
|
946
946
|
if func is None:
|
|
947
|
-
|
|
947
|
+
self.log.error(
|
|
948
948
|
"GΦL message %s not recognised by MXCuBE. Terminating...",
|
|
949
949
|
message_type,
|
|
950
950
|
)
|
|
@@ -953,9 +953,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
953
953
|
if not self.config.settings.get("suppress_external_log_output"):
|
|
954
954
|
func(payload, correlation_id)
|
|
955
955
|
else:
|
|
956
|
-
|
|
957
|
-
"GΦL queue processing %s", message_type
|
|
958
|
-
)
|
|
956
|
+
self.log.info("GΦL queue processing %s", message_type)
|
|
959
957
|
response = func(payload, correlation_id)
|
|
960
958
|
if result_list is not None:
|
|
961
959
|
result_list.append((response, correlation_id))
|
|
@@ -1019,22 +1017,22 @@ class GphlWorkflow(HardwareObject):
|
|
|
1019
1017
|
"""Print text info to console,. log etc."""
|
|
1020
1018
|
subprocess_name = self._server_subprocess_names.get(correlation_id)
|
|
1021
1019
|
if subprocess_name:
|
|
1022
|
-
|
|
1020
|
+
self.log.info("%s: %s" % (subprocess_name, payload))
|
|
1023
1021
|
else:
|
|
1024
|
-
|
|
1022
|
+
self.log.info(payload)
|
|
1025
1023
|
|
|
1026
1024
|
def echo_subprocess_started(self, payload, correlation_id):
|
|
1027
1025
|
name = payload.name
|
|
1028
1026
|
if correlation_id:
|
|
1029
1027
|
self._server_subprocess_names[correlation_id] = name
|
|
1030
|
-
|
|
1028
|
+
self.log.info("%s : STARTING", name)
|
|
1031
1029
|
|
|
1032
1030
|
def echo_subprocess_stopped(self, payload, correlation_id):
|
|
1033
1031
|
try:
|
|
1034
1032
|
name = self._server_subprocess_names.pop(correlation_id)
|
|
1035
1033
|
except KeyError:
|
|
1036
1034
|
name = "Unknown process"
|
|
1037
|
-
|
|
1035
|
+
self.log.info("%s : FINISHED", name)
|
|
1038
1036
|
|
|
1039
1037
|
def get_configuration_data(self, payload, correlation_id):
|
|
1040
1038
|
return GphlMessages.ConfigurationData(self.file_paths["gphl_beamline_config"])
|
|
@@ -1166,9 +1164,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1166
1164
|
if not allowed_widths:
|
|
1167
1165
|
allowed_widths = list(self.config.settings.get("default_image_widths"))
|
|
1168
1166
|
allowed_widths.sort()
|
|
1169
|
-
|
|
1170
|
-
"No allowed image widths returned by strategy - use defaults"
|
|
1171
|
-
)
|
|
1167
|
+
self.log.info("No allowed image widths returned by strategy - use defaults")
|
|
1172
1168
|
|
|
1173
1169
|
# set starting and unchanging values of parameters
|
|
1174
1170
|
resolution = HWR.beamline.resolution.get_value()
|
|
@@ -1633,7 +1629,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1633
1629
|
user_modifiable = geometric_strategy.isUserModifiable
|
|
1634
1630
|
if user_modifiable:
|
|
1635
1631
|
# Query user for new rotationSetting and make it,
|
|
1636
|
-
|
|
1632
|
+
self.log.warning(
|
|
1637
1633
|
"User modification of sweep settings not implemented. Ignored"
|
|
1638
1634
|
)
|
|
1639
1635
|
new_dose = parameters["use_dose"]
|
|
@@ -1687,7 +1683,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1687
1683
|
new_dcg_name = "GΦL DiffractCal"
|
|
1688
1684
|
else:
|
|
1689
1685
|
new_dcg_name = "GΦL Characterisation"
|
|
1690
|
-
|
|
1686
|
+
self.log.debug("setup_data_collection %s", new_dcg_name)
|
|
1691
1687
|
new_dcg_model = queue_model_objects.TaskGroup()
|
|
1692
1688
|
new_dcg_model.set_enabled(True)
|
|
1693
1689
|
new_dcg_model.set_name(new_dcg_name)
|
|
@@ -1760,7 +1756,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1760
1756
|
translation_settings = self.calculate_recentring(
|
|
1761
1757
|
okp, ref_xyz=current_xyz, ref_okp=current_okp
|
|
1762
1758
|
)
|
|
1763
|
-
|
|
1759
|
+
self.log.debug(
|
|
1764
1760
|
"GPHL Recentring. okp, motors, %s, %s"
|
|
1765
1761
|
% (okp, sorted(translation_settings.items()))
|
|
1766
1762
|
)
|
|
@@ -1846,7 +1842,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1846
1842
|
|
|
1847
1843
|
if recentring_mode == "start":
|
|
1848
1844
|
q_e = self.enqueue_sample_centring(motor_settings=settings)
|
|
1849
|
-
|
|
1845
|
+
self.log.debug(
|
|
1850
1846
|
"GPHL recenter at : "
|
|
1851
1847
|
+ ", ".join("%s:%s" % item for item in sorted(settings.items()))
|
|
1852
1848
|
)
|
|
@@ -1861,7 +1857,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1861
1857
|
translation = GphlMessages.GoniostatTranslation(
|
|
1862
1858
|
rotation=sweepSetting, **settings
|
|
1863
1859
|
)
|
|
1864
|
-
|
|
1860
|
+
self.log.debug(
|
|
1865
1861
|
"GPHL calculate recentring: "
|
|
1866
1862
|
+ ", ".join("%s:%s" % item for item in sorted(settings.items()))
|
|
1867
1863
|
)
|
|
@@ -1911,9 +1907,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1911
1907
|
# output from bytes to string (with default encoding),
|
|
1912
1908
|
# avoiding an explicit decoding step.
|
|
1913
1909
|
result = {}
|
|
1914
|
-
|
|
1915
|
-
"Running Recen command: %s", " ".join(command_list)
|
|
1916
|
-
)
|
|
1910
|
+
self.log.debug("Running Recen command: %s", " ".join(command_list))
|
|
1917
1911
|
try:
|
|
1918
1912
|
output = subprocess.check_output(
|
|
1919
1913
|
command_list,
|
|
@@ -1922,7 +1916,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1922
1916
|
universal_newlines=True,
|
|
1923
1917
|
)
|
|
1924
1918
|
except subprocess.CalledProcessError as err:
|
|
1925
|
-
|
|
1919
|
+
self.log.error(
|
|
1926
1920
|
"Recen failed with returncode %s. Output was:\n%s",
|
|
1927
1921
|
err.returncode,
|
|
1928
1922
|
err.output,
|
|
@@ -1942,7 +1936,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
1942
1936
|
elif ss0 == "NORMAL termination":
|
|
1943
1937
|
terminated_ok = True
|
|
1944
1938
|
else:
|
|
1945
|
-
|
|
1939
|
+
self.log.error(
|
|
1946
1940
|
"Recen failed with normal termination=%s. Output was:\n" % terminated_ok
|
|
1947
1941
|
+ output
|
|
1948
1942
|
)
|
|
@@ -1953,14 +1947,14 @@ class GphlWorkflow(HardwareObject):
|
|
|
1953
1947
|
if limits:
|
|
1954
1948
|
limit = limits[0]
|
|
1955
1949
|
if limit is not None and val < limit:
|
|
1956
|
-
|
|
1950
|
+
self.log.warning(
|
|
1957
1951
|
"WARNING, centring motor "
|
|
1958
1952
|
"%s position %s recentred to below minimum limit %s"
|
|
1959
1953
|
% (tag, val, limit)
|
|
1960
1954
|
)
|
|
1961
1955
|
limit = limits[1]
|
|
1962
1956
|
if limit is not None and val > limit:
|
|
1963
|
-
|
|
1957
|
+
self.log.warning(
|
|
1964
1958
|
"WARNING, centring motor "
|
|
1965
1959
|
"%s position %s recentred to above maximum limit %s"
|
|
1966
1960
|
% (tag, val, limit)
|
|
@@ -2036,7 +2030,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2036
2030
|
acq_parameters.num_images = scan.width.numImages
|
|
2037
2031
|
acq_parameters.osc_start = scan.start
|
|
2038
2032
|
acq_parameters.osc_range = scan.width.imageWidth
|
|
2039
|
-
|
|
2033
|
+
self.log.info(
|
|
2040
2034
|
"Scan: %s images of %s deg. starting at %s (%s deg)",
|
|
2041
2035
|
acq_parameters.num_images,
|
|
2042
2036
|
acq_parameters.osc_range,
|
|
@@ -2498,9 +2492,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2498
2492
|
)
|
|
2499
2493
|
zoom_motor.moveToPosition(ll0[-1])
|
|
2500
2494
|
else:
|
|
2501
|
-
|
|
2502
|
-
"No predefined positions for zoom motor."
|
|
2503
|
-
)
|
|
2495
|
+
self.log.warning("No predefined positions for zoom motor.")
|
|
2504
2496
|
else:
|
|
2505
2497
|
logging.getLogger("user_level_log").info(
|
|
2506
2498
|
"Sample re-centering now active - Zoom in before continuing."
|
|
@@ -2593,9 +2585,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2593
2585
|
snapshot_index + 1,
|
|
2594
2586
|
)
|
|
2595
2587
|
snapshot_filename = os.path.join(snapshot_directory, snapshot_filename)
|
|
2596
|
-
|
|
2597
|
-
"Centring snapshot stored at %s", snapshot_filename
|
|
2598
|
-
)
|
|
2588
|
+
self.log.debug("Centring snapshot stored at %s", snapshot_filename)
|
|
2599
2589
|
collect_hwobj._take_crystal_snapshot(snapshot_filename)
|
|
2600
2590
|
if summed_angle:
|
|
2601
2591
|
HWR.beamline.diffractometer.move_omega_relative(-summed_angle)
|
|
@@ -2641,9 +2631,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2641
2631
|
os.makedirs(image_root)
|
|
2642
2632
|
except Exception:
|
|
2643
2633
|
# No need to raise error - program will fail downstream
|
|
2644
|
-
|
|
2645
|
-
"Could not create image root directory: %s", image_root
|
|
2646
|
-
)
|
|
2634
|
+
self.log.error("Could not create image root directory: %s", image_root)
|
|
2647
2635
|
|
|
2648
2636
|
priorInformation = GphlMessages.PriorInformation(workflow_model, image_root)
|
|
2649
2637
|
|
|
@@ -2889,9 +2877,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2889
2877
|
raise ValueError("Test sample requires gphl_test_samples dir specified")
|
|
2890
2878
|
sample_dir = os.path.join(sample_dir, sample_name)
|
|
2891
2879
|
if not sample_dir:
|
|
2892
|
-
|
|
2893
|
-
"No emulation sample dir found for sample %s", sample_name
|
|
2894
|
-
)
|
|
2880
|
+
self.log.warning("No emulation sample dir found for sample %s", sample_name)
|
|
2895
2881
|
return sample_dir
|
|
2896
2882
|
|
|
2897
2883
|
def get_emulation_crystal_data(self, sample_name=None):
|
|
@@ -2942,7 +2928,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2942
2928
|
elif instruction == "reffiles":
|
|
2943
2929
|
update_dict = self.update_reference_files(parameters)
|
|
2944
2930
|
except:
|
|
2945
|
-
|
|
2931
|
+
self.log.error(
|
|
2946
2932
|
"Error in GΦL parameter update for %s, Continuing ...",
|
|
2947
2933
|
instruction,
|
|
2948
2934
|
)
|
|
@@ -2989,7 +2975,7 @@ class GphlWorkflow(HardwareObject):
|
|
|
2989
2975
|
):
|
|
2990
2976
|
update_dict = self.adjust_dose(parameters)
|
|
2991
2977
|
except:
|
|
2992
|
-
|
|
2978
|
+
self.log.error(
|
|
2993
2979
|
"Error in GΦL parameter update for %s, Continuing ...",
|
|
2994
2980
|
instruction,
|
|
2995
2981
|
)
|