mxcubecore 1.393.0__py3-none-any.whl → 1.395.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.

Files changed (176) hide show
  1. mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py +4 -7
  2. mxcubecore/HardwareObjects/ALBA/ALBABackLight.py +6 -7
  3. mxcubecore/HardwareObjects/ALBA/ALBABeamInfo.py +2 -4
  4. mxcubecore/HardwareObjects/ALBA/ALBACats.py +19 -25
  5. mxcubecore/HardwareObjects/ALBA/ALBAClusterJob.py +10 -11
  6. mxcubecore/HardwareObjects/ALBA/ALBACollect.py +49 -71
  7. mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py +26 -31
  8. mxcubecore/HardwareObjects/ALBA/ALBAEnergy.py +1 -5
  9. mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py +1 -1
  10. mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py +1 -1
  11. mxcubecore/HardwareObjects/ALBA/ALBAFlux.py +2 -6
  12. mxcubecore/HardwareObjects/ALBA/ALBAFrontLight.py +5 -9
  13. mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py +4 -4
  14. mxcubecore/HardwareObjects/ALBA/ALBAMiniDiff.py +20 -27
  15. mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +12 -15
  16. mxcubecore/HardwareObjects/ALBA/ALBASession.py +1 -4
  17. mxcubecore/HardwareObjects/ALBA/ALBAZoomMotor.py +10 -14
  18. mxcubecore/HardwareObjects/ALBA/ALBAZoomMotorAutoBrightness.py +7 -11
  19. mxcubecore/HardwareObjects/ALBA/XalocMiniDiff.py +7 -8
  20. mxcubecore/HardwareObjects/BeamInfo.py +4 -6
  21. mxcubecore/HardwareObjects/Beamline.py +6 -7
  22. mxcubecore/HardwareObjects/BeamlineActions.py +3 -7
  23. mxcubecore/HardwareObjects/BlissHutchTrigger.py +2 -4
  24. mxcubecore/HardwareObjects/BlissMotorWPositions.py +4 -7
  25. mxcubecore/HardwareObjects/Cats90.py +33 -43
  26. mxcubecore/HardwareObjects/CatsBessy.py +1 -2
  27. mxcubecore/HardwareObjects/CatsMaint.py +2 -2
  28. mxcubecore/HardwareObjects/CentringMath.py +5 -4
  29. mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py +3 -5
  30. mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py +1 -3
  31. mxcubecore/HardwareObjects/DESY/P11Collect.py +6 -8
  32. mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py +14 -16
  33. mxcubecore/HardwareObjects/DESY/P11ISPyBClient.py +6 -10
  34. mxcubecore/HardwareObjects/DESY/P11NanoDiff.py +5 -5
  35. mxcubecore/HardwareObjects/DataPublisher.py +2 -3
  36. mxcubecore/HardwareObjects/EDNACharacterisation.py +2 -4
  37. mxcubecore/HardwareObjects/EMBL/EMBLBeam.py +3 -3
  38. mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py +2 -4
  39. mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py +3 -3
  40. mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py +1 -1
  41. mxcubecore/HardwareObjects/EMBL/EMBLEnergy.py +10 -18
  42. mxcubecore/HardwareObjects/EMBL/EMBLEnergyScan.py +9 -13
  43. mxcubecore/HardwareObjects/EMBL/EMBLFlux.py +10 -12
  44. mxcubecore/HardwareObjects/EMBL/EMBLMachineInfo.py +2 -2
  45. mxcubecore/HardwareObjects/EMBL/EMBLMiniDiff.py +18 -18
  46. mxcubecore/HardwareObjects/EMBL/EMBLMotorsGroup.py +6 -9
  47. mxcubecore/HardwareObjects/EMBL/EMBLOnlineProcessing.py +6 -6
  48. mxcubecore/HardwareObjects/EMBL/EMBLPPUControl.py +1 -1
  49. mxcubecore/HardwareObjects/EMBL/EMBLSSXChip.py +1 -4
  50. mxcubecore/HardwareObjects/EMBL/EMBLSlitBox.py +1 -3
  51. mxcubecore/HardwareObjects/EMBL/EMBLTableMotor.py +2 -3
  52. mxcubecore/HardwareObjects/EMBL/EMBLXRFSpectrum.py +4 -4
  53. mxcubecore/HardwareObjects/EMBL/EMBLXrayImaging.py +1 -1
  54. mxcubecore/HardwareObjects/EMBL/TINEMotor.py +2 -4
  55. mxcubecore/HardwareObjects/EMBLFlexHCD.py +5 -5
  56. mxcubecore/HardwareObjects/EMBLFlexHarvester.py +2 -2
  57. mxcubecore/HardwareObjects/ESRF/ESRFBeam.py +3 -5
  58. mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py +1 -5
  59. mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py +2 -3
  60. mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +3 -3
  61. mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py +7 -7
  62. mxcubecore/HardwareObjects/ESRF/ESRFPhotonFlux.py +2 -8
  63. mxcubecore/HardwareObjects/ESRF/ESRFSC3.py +11 -18
  64. mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py +2 -4
  65. mxcubecore/HardwareObjects/ESRF/MD2MultiCollect.py +4 -4
  66. mxcubecore/HardwareObjects/ESRF/SSXICATLIMS.py +9 -6
  67. mxcubecore/HardwareObjects/EdnaWorkflow.py +9 -11
  68. mxcubecore/HardwareObjects/Energy.py +11 -15
  69. mxcubecore/HardwareObjects/ExporterMotor.py +1 -2
  70. mxcubecore/HardwareObjects/FlexHCD.py +7 -8
  71. mxcubecore/HardwareObjects/FlexHCDMaintenance.py +1 -2
  72. mxcubecore/HardwareObjects/GenericDiffractometer.py +26 -46
  73. mxcubecore/HardwareObjects/Gphl/CollectEmulator.py +6 -7
  74. mxcubecore/HardwareObjects/Gphl/GphlQueueEntry.py +2 -2
  75. mxcubecore/HardwareObjects/Gphl/GphlWorkflow.py +29 -43
  76. mxcubecore/HardwareObjects/Gphl/GphlWorkflowConnection.py +25 -35
  77. mxcubecore/HardwareObjects/ICATLIMS.py +17 -13
  78. mxcubecore/HardwareObjects/LNLS/EPICSMotor.py +1 -4
  79. mxcubecore/HardwareObjects/LNLS/LNLSAperture.py +2 -5
  80. mxcubecore/HardwareObjects/LNLS/LNLSCamera.py +14 -16
  81. mxcubecore/HardwareObjects/LNLS/LNLSCollect.py +20 -30
  82. mxcubecore/HardwareObjects/LNLS/LNLSDetDistMotor.py +7 -11
  83. mxcubecore/HardwareObjects/LNLS/LNLSEnergy.py +4 -6
  84. mxcubecore/HardwareObjects/LNLS/LNLSPilatusDet.py +49 -57
  85. mxcubecore/HardwareObjects/LNLS/LNLSTransmission.py +4 -7
  86. mxcubecore/HardwareObjects/LdapAuthenticator.py +11 -15
  87. mxcubecore/HardwareObjects/Lima2Detector.py +1 -1
  88. mxcubecore/HardwareObjects/LimaEigerDetector.py +1 -1
  89. mxcubecore/HardwareObjects/LimaPilatusDetector.py +1 -4
  90. mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py +3 -5
  91. mxcubecore/HardwareObjects/MD3UP.py +1 -2
  92. mxcubecore/HardwareObjects/MachCurrent.py +5 -5
  93. mxcubecore/HardwareObjects/Marvin.py +23 -35
  94. mxcubecore/HardwareObjects/Microdiff.py +6 -8
  95. mxcubecore/HardwareObjects/MicrodiffActuator.py +1 -1
  96. mxcubecore/HardwareObjects/MicrodiffBeamstop.py +1 -3
  97. mxcubecore/HardwareObjects/MicrodiffInOut.py +1 -1
  98. mxcubecore/HardwareObjects/MicrodiffKappaMotor.py +3 -4
  99. mxcubecore/HardwareObjects/MiniDiff.py +35 -57
  100. mxcubecore/HardwareObjects/MotorWPositions.py +3 -3
  101. mxcubecore/HardwareObjects/PlateManipulator.py +2 -2
  102. mxcubecore/HardwareObjects/ProposalTypeISPyBLims.py +8 -16
  103. mxcubecore/HardwareObjects/PyISPyBClient.py +8 -5
  104. mxcubecore/HardwareObjects/QtGraphicsLib.py +2 -2
  105. mxcubecore/HardwareObjects/QtGraphicsManager.py +13 -19
  106. mxcubecore/HardwareObjects/QtInstanceServer.py +27 -55
  107. mxcubecore/HardwareObjects/QtLimaVideo.py +1 -5
  108. mxcubecore/HardwareObjects/QueueManager.py +7 -9
  109. mxcubecore/HardwareObjects/QueueModel.py +6 -8
  110. mxcubecore/HardwareObjects/RedisClient.py +12 -16
  111. mxcubecore/HardwareObjects/SC3.py +1 -2
  112. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Attenuator.py +1 -3
  113. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1BeamInfo.py +1 -1
  114. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1CatsMaint.py +3 -4
  115. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Collect.py +11 -11
  116. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Cryotong.py +8 -18
  117. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Energy.py +6 -7
  118. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1EnergyScan.py +21 -31
  119. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Environment.py +1 -1
  120. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1MiniDiff.py +11 -21
  121. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pilatus.py +9 -9
  122. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pss.py +1 -2
  123. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Resolution.py +1 -5
  124. mxcubecore/HardwareObjects/SOLEIL/PX1/PX1TangoLight.py +3 -8
  125. mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Attenuator.py +9 -13
  126. mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Collect.py +1 -1
  127. mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py +22 -22
  128. mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Energy.py +4 -6
  129. mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Guillotine.py +2 -2
  130. mxcubecore/HardwareObjects/SOLEIL/SOLEILCatsMaint.py +6 -8
  131. mxcubecore/HardwareObjects/SOLEIL/SOLEILEnergyScan.py +44 -56
  132. mxcubecore/HardwareObjects/SOLEIL/SOLEILGuillotine.py +2 -2
  133. mxcubecore/HardwareObjects/SOLEIL/SOLEILISPyBClient.py +10 -10
  134. mxcubecore/HardwareObjects/SOLEIL/SOLEILMachineInfo.py +4 -8
  135. mxcubecore/HardwareObjects/SOLEIL/SOLEILPss.py +3 -4
  136. mxcubecore/HardwareObjects/SOLEIL/SOLEILRuche.py +1 -1
  137. mxcubecore/HardwareObjects/SOLEIL/TangoDCMotor.py +10 -16
  138. mxcubecore/HardwareObjects/SardanaMotor.py +4 -5
  139. mxcubecore/HardwareObjects/Session.py +1 -2
  140. mxcubecore/HardwareObjects/SpecMotorWPositions.py +5 -9
  141. mxcubecore/HardwareObjects/SpecMotorWSpecPositions.py +2 -4
  142. mxcubecore/HardwareObjects/SpecShell.py +7 -9
  143. mxcubecore/HardwareObjects/SpecState.py +5 -7
  144. mxcubecore/HardwareObjects/StateMachine.py +9 -10
  145. mxcubecore/HardwareObjects/TangoLimaMpegVideo.py +2 -3
  146. mxcubecore/HardwareObjects/TangoLimaVideo.py +3 -4
  147. mxcubecore/HardwareObjects/TangoMachineInfo.py +1 -3
  148. mxcubecore/HardwareObjects/TangoMotor.py +1 -3
  149. mxcubecore/HardwareObjects/UserTypeISPyBLims.py +7 -9
  150. mxcubecore/HardwareObjects/XMLRPCServer.py +20 -22
  151. mxcubecore/HardwareObjects/abstract/AbstractAperture.py +6 -11
  152. mxcubecore/HardwareObjects/abstract/AbstractCollect.py +6 -16
  153. mxcubecore/HardwareObjects/abstract/AbstractDetector.py +2 -7
  154. mxcubecore/HardwareObjects/abstract/AbstractEnergyScan.py +1 -1
  155. mxcubecore/HardwareObjects/abstract/AbstractLims.py +3 -4
  156. mxcubecore/HardwareObjects/abstract/AbstractNState.py +1 -2
  157. mxcubecore/HardwareObjects/abstract/AbstractProcedure.py +3 -4
  158. mxcubecore/HardwareObjects/abstract/AbstractSampleChanger.py +1 -1
  159. mxcubecore/HardwareObjects/abstract/AbstractVideoDevice.py +4 -4
  160. mxcubecore/HardwareObjects/abstract/AbstractXRFSpectrum.py +1 -1
  161. mxcubecore/HardwareObjects/abstract/ISPyBAbstractLims.py +11 -13
  162. mxcubecore/HardwareObjects/mockup/BeamlineTestMockup.py +11 -14
  163. mxcubecore/HardwareObjects/mockup/EnergyScanMockup.py +10 -11
  164. mxcubecore/HardwareObjects/mockup/ISPyBClientMockup.py +6 -6
  165. mxcubecore/HardwareObjects/mockup/ISPyBRestClientMockup.py +1 -1
  166. mxcubecore/HardwareObjects/mockup/LimaDetectorMockup.py +1 -2
  167. mxcubecore/HardwareObjects/mockup/MDCameraMockup.py +5 -6
  168. mxcubecore/HardwareObjects/mockup/MicrodiffInOutMockup.py +1 -1
  169. mxcubecore/HardwareObjects/mockup/MultiCollectMockup.py +1 -1
  170. mxcubecore/HardwareObjects/mockup/ShapeHistoryMockup.py +1 -2
  171. mxcubecore/HardwareObjects/mockup/XRFMockup.py +3 -6
  172. {mxcubecore-1.393.0.dist-info → mxcubecore-1.395.0.dist-info}/METADATA +1 -1
  173. {mxcubecore-1.393.0.dist-info → mxcubecore-1.395.0.dist-info}/RECORD +176 -176
  174. {mxcubecore-1.393.0.dist-info → mxcubecore-1.395.0.dist-info}/COPYING +0 -0
  175. {mxcubecore-1.393.0.dist-info → mxcubecore-1.395.0.dist-info}/COPYING.LESSER +0 -0
  176. {mxcubecore-1.393.0.dist-info → mxcubecore-1.395.0.dist-info}/WHEEL +0 -0
@@ -33,8 +33,6 @@ NBNB OBSOLETE there is no longer a beamline_setup
33
33
  </object>
34
34
  """
35
35
 
36
- import logging
37
-
38
36
  import gevent
39
37
  import jsonpickle
40
38
  import redis
@@ -75,12 +73,12 @@ class RedisClient(HardwareObject):
75
73
  self.active = False
76
74
 
77
75
  if self.active:
78
- logging.getLogger("HWR").info(
76
+ self.log.info(
79
77
  "RedisClient: listening to connections on %s:%d"
80
78
  % (self.host, self.port)
81
79
  )
82
80
  else:
83
- logging.getLogger("HWR").error(
81
+ self.log.error(
84
82
  "RedisClient: Redis server %s:%d is not available"
85
83
  % (self.host, self.port)
86
84
  )
@@ -88,7 +86,7 @@ class RedisClient(HardwareObject):
88
86
  try:
89
87
  self.connect(HWR.beamline.flux, "fluxChanged", self.flux_changed)
90
88
  except Exception:
91
- logging.getLogger("HWR").exception("")
89
+ self.log.exception("")
92
90
 
93
91
  self.proposal_id = HWR.beamline.session.get_proposal()
94
92
  self.beamline_name = HWR.beamline.session.beamline_name
@@ -112,7 +110,7 @@ class RedisClient(HardwareObject):
112
110
  "mxcube:%s:%s:queue_current" % (self.proposal_id, self.beamline_name),
113
111
  queue_list,
114
112
  )
115
- logging.getLogger("HWR").debug("RedisClient: Current queue saved")
113
+ self.log.debug("RedisClient: Current queue saved")
116
114
 
117
115
  def load_queue(self):
118
116
  """Loads queue from redis DB"""
@@ -134,13 +132,13 @@ class RedisClient(HardwareObject):
134
132
  )
135
133
 
136
134
  self.active = True
137
- logging.getLogger("HWR").debug("RedisClient: Queue loaded")
135
+ self.log.debug("RedisClient: Queue loaded")
138
136
  return selected_model
139
137
 
140
138
  def save_graphics(self):
141
139
  """Saves graphics objects in RedisDB"""
142
140
  if self.active:
143
- logging.getLogger("HWR").debug(
141
+ self.log.debug(
144
142
  "RedisClient: Graphics saved at "
145
143
  + "mxcube:%s:%s:graphics" % (self.proposal_id, self.beamline_name)
146
144
  )
@@ -160,9 +158,9 @@ class RedisClient(HardwareObject):
160
158
  HWR.beamline.sample_view.load_shapes(
161
159
  jsonpickle.decode(graphics_objects)
162
160
  )
163
- logging.getLogger("HWR").debug("RedisClient: Graphics loaded")
161
+ self.log.debug("RedisClient: Graphics loaded")
164
162
  except Exception:
165
- logging.getLogger("HWR").exception("")
163
+ self.log.exception("")
166
164
 
167
165
  def save_queue_history_item(self, item):
168
166
  """Saves queue history in redisDB"""
@@ -171,7 +169,7 @@ class RedisClient(HardwareObject):
171
169
  "mxcube:%s:%s:queue_history" % (self.proposal_id, self.beamline_name),
172
170
  str(item),
173
171
  )
174
- logging.getLogger("HWR").debug("RedisClient: History queue saved")
172
+ self.log.debug("RedisClient: History queue saved")
175
173
 
176
174
  def load_queue_history(self):
177
175
  """Loads queue history from redisDB"""
@@ -187,7 +185,7 @@ class RedisClient(HardwareObject):
187
185
  for item in items:
188
186
  result.append(eval(item))
189
187
  except Exception:
190
- logging.getLogger("HWR").exception("")
188
+ self.log.exception("")
191
189
  return result
192
190
 
193
191
  def clear_db(self):
@@ -207,14 +205,12 @@ class RedisClient(HardwareObject):
207
205
 
208
206
  self.active = True
209
207
  except Exception as ex:
210
- logging.getLogger("HWR").debug(
211
- "Redis: Exception in reading beamline setup: %s" % str(ex)
212
- )
208
+ self.log.debug("Redis: Exception in reading beamline setup: %s" % str(ex))
213
209
 
214
210
  def save_beamline_setup_item(self, key, value):
215
211
  if self.active:
216
212
  if key == "flux":
217
- logging.getLogger("HWR").debug("RedisClient: Flux value saved")
213
+ self.log.debug("RedisClient: Flux value saved")
218
214
  self.redis_client.set(
219
215
  "mxcube:%s:%s:flux" % (self.proposal_id, self.beamline_name),
220
216
  value[0],
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import xml.sax
3
2
  from xml.sax.handler import ContentHandler
4
3
 
@@ -375,7 +374,7 @@ class SC3(SampleChanger):
375
374
  Pin.get_sample_address(basket_no, sample_no)
376
375
  )
377
376
  except Exception:
378
- logging.getLogger("HWR").exception("")
377
+ self.log.exception("")
379
378
  self._set_selected_component(basket)
380
379
  self._set_selected_sample(sample)
381
380
 
@@ -1,5 +1,3 @@
1
- import logging
2
-
3
1
  from mxcubecore.BaseHardwareObjects import HardwareObject
4
2
 
5
3
 
@@ -64,7 +62,7 @@ class PX1Attenuator(HardwareObject):
64
62
  try:
65
63
  value = self.get_value()
66
64
  except Exception:
67
- logging.getLogger("HWR").error(
65
+ self.log.error(
68
66
  "%s attFactorChanged : received value on channel is not a float value",
69
67
  str(self.name()),
70
68
  )
@@ -85,7 +85,7 @@ class PX1BeamInfo(HardwareObject):
85
85
  self.beam_info_dict["size_x"] = self.beam_size[0] = float(beamx)
86
86
  self.beam_info_dict["size_y"] = self.beam_size[1] = float(beamy)
87
87
  except Exception:
88
- logging.getLogger("HWR").exception("")
88
+ self.log.exception("")
89
89
 
90
90
  def connect_notify(self, signal):
91
91
  if signal == "beamInfoChanged":
@@ -1,4 +1,3 @@
1
- import logging
2
1
  import time
3
2
 
4
3
  from mxcubecore import HardwareRepository as HWR
@@ -47,18 +46,18 @@ class PX1CatsMaint(CatsMaint):
47
46
 
48
47
  def _do_home_open(self, unload=False):
49
48
  if unload and self.loaded:
50
- logging.getLogger("HWR").debug("Unloading sample first")
49
+ self.log.debug("Unloading sample first")
51
50
  self.cats_hwo._do_unload()
52
51
  time.sleep(3)
53
52
  while HWR.beamline.sample_changer._is_device_busy():
54
53
  time.sleep(0.3)
55
54
 
56
- logging.getLogger("HWR").debug("Running the home command (home/open) now")
55
+ self.log.debug("Running the home command (home/open) now")
57
56
  self._cmdHome()
58
57
 
59
58
  def _do_dry_soak(self):
60
59
  self._cmdDrySoak()
61
60
 
62
61
  def _do_reset(self):
63
- logging.getLogger("HWR").debug("PX1CatsMaint: executing the _do_reset function")
62
+ self.log.debug("PX1CatsMaint: executing the _do_reset function")
64
63
  self._cmdReset()
@@ -112,7 +112,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
112
112
 
113
113
  collection_type = self.current_dc_parameters["experiment_type"]
114
114
 
115
- logging.getLogger("HWR").info(
115
+ self.log.info(
116
116
  "PX1Collect: Running PX1 data collection hook. Type is %s" % collection_type
117
117
  )
118
118
 
@@ -161,7 +161,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
161
161
  fileinfo = self.current_dc_parameters["fileinfo"]
162
162
  basedir = fileinfo["directory"]
163
163
 
164
- logging.getLogger("HWR").info("PX1Collect: fileinfo is %s " % str(fileinfo))
164
+ self.log.info("PX1Collect: fileinfo is %s " % str(fileinfo))
165
165
  imgname = fileinfo["template"] % osc_seq["start_image_number"]
166
166
 
167
167
  # move omega to start angle
@@ -171,7 +171,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
171
171
  osc_range = osc_seq["range"]
172
172
  exp_time = osc_seq["exposure_time"]
173
173
 
174
- logging.getLogger("HWR").info(
174
+ self.log.info(
175
175
  "PX1Collect: nb_images: %s / osc_range: %s / exp_time: %s"
176
176
  % (nb_images, osc_range, exp_time)
177
177
  )
@@ -354,14 +354,14 @@ class PX1Collect(AbstractCollect, HardwareObject):
354
354
  #
355
355
  # data collection end (or abort)
356
356
  #
357
- logging.getLogger("HWR").info("PX1Collect: finishing data collection ")
357
+ self.log.info("PX1Collect: finishing data collection ")
358
358
  HWR.beamline.diffractometer.omega.stop()
359
359
  HWR.beamline.fast_shutter.closeShutter()
360
360
 
361
361
  self.emit("progressStop")
362
362
 
363
363
  def data_collection_failed(self):
364
- logging.getLogger("HWR").info(
364
+ self.log.info(
365
365
  "PX1Collect: Data collection failed. recovering sequence should go here"
366
366
  )
367
367
 
@@ -428,7 +428,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
428
428
  time.sleep(0.3) # allow time to refresh display after
429
429
 
430
430
  HWR.beamline.sample_view.save_snapshot(filename)
431
- logging.getLogger("HWR").debug("PX1Collect: - snapshot saved to %s" % filename)
431
+ self.log.debug("PX1Collect: - snapshot saved to %s" % filename)
432
432
 
433
433
  def generate_thumbnails(self, filename, jpeg_filename, thumbnail_filename):
434
434
  #
@@ -489,10 +489,10 @@ class PX1Collect(AbstractCollect, HardwareObject):
489
489
  except Exception:
490
490
  import traceback
491
491
 
492
- logging.getLogger("HWR").error(
492
+ self.log.error(
493
493
  "PX1Collect: Error changing permissions for PROCESS directory"
494
494
  )
495
- logging.getLogger("HWR").error(traceback.format_exc())
495
+ self.log.error(traceback.format_exc())
496
496
 
497
497
  self.create_goimg_file(process_dir)
498
498
 
@@ -616,7 +616,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
616
616
  if not self.is_collect_phase():
617
617
  success = self.go_to_collect()
618
618
  if not success:
619
- logging.getLogger("HWR").info("PX1Collect: Cannot set COLLECT phase")
619
+ self.log.info("PX1Collect: Cannot set COLLECT phase")
620
620
  return False
621
621
  return True
622
622
 
@@ -744,7 +744,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
744
744
  if env_state != "RUNNING" and self.is_collect_phase():
745
745
  break
746
746
  if time.time() - t0 > timeout:
747
- logging.getLogger("HWR").debug(
747
+ self.log.debug(
748
748
  "PX1Collect: timeout sending supervisor to collect phase"
749
749
  )
750
750
  break
@@ -766,7 +766,7 @@ class PX1Collect(AbstractCollect, HardwareObject):
766
766
  if env_state != "RUNNING" and self.is_sampleview_phase():
767
767
  break
768
768
  if time.time() - t0 > timeout:
769
- logging.getLogger("HWR").debug(
769
+ self.log.debug(
770
770
  "PX1Collect: timeout sending supervisor to sample view phase"
771
771
  )
772
772
  break
@@ -103,8 +103,8 @@ class PX1Cryotong(Cats90):
103
103
  try:
104
104
  self._cmdAckSampleMemory()
105
105
  except Exception:
106
- """ do nothing if cmd not to acknowledge not in xml """
107
- logging.getLogger("HWR").exception("")
106
+ """do nothing if cmd not to acknowledge not in xml"""
107
+ self.log.exception("")
108
108
  self.incoherent_state = value
109
109
 
110
110
  def _dry_and_soak_needed(self, value=None):
@@ -125,9 +125,7 @@ class PX1Cryotong(Cats90):
125
125
  value = self._chnCountDown.get_value()
126
126
 
127
127
  if value != self.count_down:
128
- logging.getLogger("HWR").info(
129
- "PX1Cats. CountDown changed. Now is: %s" % value
130
- )
128
+ self.log.info("PX1Cats. CountDown changed. Now is: %s" % value)
131
129
  self.count_down = value
132
130
  self.emit("countdownSignal", value)
133
131
 
@@ -254,9 +252,7 @@ class PX1Cryotong(Cats90):
254
252
  while not self._chnPowered.get_value():
255
253
  gevent.sleep(0.3)
256
254
  if time.time() - t0 > timeout:
257
- logging.getLogger("HWR").warning(
258
- "CRYOTONG: timeout waiting for power on"
259
- )
255
+ self.log.warning("CRYOTONG: timeout waiting for power on")
260
256
  break
261
257
 
262
258
  if self._chnPowered.get_value():
@@ -275,9 +271,7 @@ class PX1Cryotong(Cats90):
275
271
  wait_n = 0
276
272
  while self._is_device_busy():
277
273
  if wait_n % 10 == 3:
278
- logging.getLogger("HWR").warning(
279
- "CRYOTONG: waiting for dry and soak to complete"
280
- )
274
+ self.log.warning("CRYOTONG: waiting for dry and soak to complete")
281
275
  gevent.sleep(0.3)
282
276
  wait_n += 1
283
277
 
@@ -300,18 +294,14 @@ class PX1Cryotong(Cats90):
300
294
  while not self.environment.readyForTransfer():
301
295
  gevent.sleep(0.3)
302
296
  if time.time() - t0 > timeout:
303
- logging.getLogger("HWR").warning(
304
- "CRYOTONG: timeout waiting for transfer phase"
305
- )
297
+ self.log.warning("CRYOTONG: timeout waiting for transfer phase")
306
298
  break
307
- logging.getLogger("HWR").warning(
308
- "CRYOTONG: waiting for transfer phase to be set"
309
- )
299
+ self.log.warning("CRYOTONG: waiting for transfer phase to be set")
310
300
 
311
301
  if not self.environment.readyForTransfer():
312
302
  return False
313
303
 
314
- logging.getLogger("HWR").warning("CRYOTONG: ready for transfer now")
304
+ self.log.warning("CRYOTONG: ready for transfer now")
315
305
  return True
316
306
 
317
307
  # ## (END) OVERLOADED CATS90 methods ####
@@ -1,6 +1,5 @@
1
1
  # from qt import *
2
2
 
3
- import logging
4
3
  import time
5
4
 
6
5
  from mxcubecore.Command.Tango import DeviceProxy
@@ -50,13 +49,13 @@ class PX1Energy(Device, AbstractEnergy):
50
49
 
51
50
  def connect_notify(self, signal):
52
51
  if signal == "energyChanged":
53
- logging.getLogger("HWR").debug(
52
+ self.log.debug(
54
53
  "PX1Energy. connect_notify. sending energy value %s" % self.get_value()
55
54
  )
56
55
  self.energyChanged(self.get_energy())
57
56
 
58
57
  if signal == "stateChanged":
59
- logging.getLogger("HWR").debug(
58
+ self.log.debug(
60
59
  "PX1Energy. connect_notify. sending state value %s" % self.get_state()
61
60
  )
62
61
  self.stateChanged(self.get_state())
@@ -179,7 +178,7 @@ class PX1Energy(Device, AbstractEnergy):
179
178
  self.und_device.gap = newgap + backlash
180
179
  time.sleep(1)
181
180
  except Exception:
182
- logging.getLogger("HWR").error(
181
+ self.log.error(
183
182
  "%s: Cannot move undulator U20 : State device = %s",
184
183
  self.id,
185
184
  str(self.und_device.State()),
@@ -189,14 +188,14 @@ class PX1Energy(Device, AbstractEnergy):
189
188
  self.energy_chan.set_value(value)
190
189
  return value
191
190
  except Exception:
192
- logging.getLogger("HWR").error(
191
+ self.log.error(
193
192
  "%s: Cannot move Energy : State device = %s",
194
193
  self.id,
195
194
  self.get_state(),
196
195
  )
197
196
 
198
197
  else:
199
- logging.getLogger("HWR").error(
198
+ self.log.error(
200
199
  "%s: Cannot move Energy : State device = %s",
201
200
  self.id,
202
201
  self.get_state(),
@@ -204,7 +203,7 @@ class PX1Energy(Device, AbstractEnergy):
204
203
 
205
204
  def set_wavelength(self, value, wait=False):
206
205
  egy_value = self.lambda_to_energy(float(value))
207
- logging.getLogger("HWR").debug(
206
+ self.log.debug(
208
207
  "%s: Moving wavelength to : %s (egy to %s" % (self.id, value, egy_value)
209
208
  )
210
209
  self.set_valuey(egy_value)
@@ -58,7 +58,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
58
58
  self.scan_info = {}
59
59
  self.scan_data = []
60
60
 
61
- self.log = logging.getLogger("HWR")
61
+ self.log = self.log
62
62
 
63
63
  def init(self):
64
64
  self.ready_event = gevent.event.Event()
@@ -268,7 +268,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
268
268
  def start_energy_scan(
269
269
  self, element, edge, directory, prefix, session_id=None, blsample_id=None
270
270
  ):
271
- log = logging.getLogger("HWR")
271
+ log = self.log
272
272
 
273
273
  self.scan_info = {
274
274
  "sessionId": session_id,
@@ -315,7 +315,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
315
315
  except Exception:
316
316
  import traceback
317
317
 
318
- logging.getLogger("HWR").error(
318
+ self.log.error(
319
319
  "EnergyScan: problem starting energy scan. %s" % traceback.format_exc()
320
320
  )
321
321
  self.scanCommandFailed()
@@ -379,7 +379,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
379
379
  self.ready_event.set()
380
380
 
381
381
  def scanCommandFinished(self, *args):
382
- logging.getLogger("HWR").debug("EnergyScan: finished")
382
+ self.log.debug("EnergyScan: finished")
383
383
 
384
384
  with cleanup(self.ready_event.set):
385
385
  self.scan_info["endTime"] = time.strftime("%Y-%m-%d %H:%M:%S")
@@ -425,17 +425,13 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
425
425
  if not os.path.exists(archive_directory):
426
426
  os.makedirs(archive_directory)
427
427
  except Exception:
428
- logging.getLogger("HWR").exception(
429
- "PX1EnergyScan: could not create results directory."
430
- )
428
+ self.log.exception("PX1EnergyScan: could not create results directory.")
431
429
  self.store_energy_scan()
432
430
  self.scanCommandFailed()
433
431
  return
434
432
 
435
433
  if not self.save_raw(scan_file_raw_filename, archive_file_raw_filename):
436
- logging.getLogger("HWR").exception(
437
- "PX1EnergyScan: could not save data raw file"
438
- )
434
+ self.log.exception("PX1EnergyScan: could not save data raw file")
439
435
  self.store_energy_scan()
440
436
  self.scanCommandFailed()
441
437
  return
@@ -490,9 +486,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
490
486
  ) = result_data
491
487
  else:
492
488
  self.store_energy_scan()
493
- logging.getLogger("HWR").error(
494
- "Energy scan: Chooch cannot parse results"
495
- )
489
+ self.log.error("Energy scan: Chooch cannot parse results")
496
490
  return
497
491
  # scan_data = self.get_scan_data()
498
492
  # self.log.debug("running chooch with values: element=%s, element=%s" % (elt,edge))
@@ -507,7 +501,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
507
501
 
508
502
  self.log.debug(traceback.format_exc())
509
503
  self.store_energy_scan()
510
- logging.getLogger("HWR").error("Energy scan: Chooch failed")
504
+ self.log.error("Energy scan: Chooch failed")
511
505
  return
512
506
 
513
507
  self.log.info("EnergyScan. running chooch done")
@@ -524,7 +518,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
524
518
 
525
519
  self.thEdge = self.e_edge
526
520
 
527
- logging.getLogger("HWR").info(
521
+ self.log.info(
528
522
  "th. Edge %s ; chooch results are pk=%f, ip=%f, rm=%f"
529
523
  % (self.thEdge, pk, ip, rm)
530
524
  )
@@ -541,20 +535,20 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
541
535
  ip = 0
542
536
  rm = self.thEdge + 0.03
543
537
 
544
- logging.getLogger("HWR").warning(
538
+ self.log.warning(
545
539
  "EnergyScan: calculated peak is %s theoretical value more than 20eV"
546
540
  % side
547
541
  )
548
- logging.getLogger("HWR").warning(" calculated = %s" % savpk)
549
- logging.getLogger("HWR").warning(" theoretical = %s" % self.thEdge)
542
+ self.log.warning(" calculated = %s" % savpk)
543
+ self.log.warning(" theoretical = %s" % self.thEdge)
550
544
 
551
545
  if not self.copy_efs(scan_file_efs_filename, archive_file_efs_filename):
552
- logging.getLogger("HWR").warning(" copy efs failed ")
546
+ self.log.warning(" copy efs failed ")
553
547
  self.store_energy_scan()
554
548
  self.scanCommandFailed()
555
549
  return
556
550
 
557
- logging.getLogger("HWR").warning(
551
+ self.log.warning(
558
552
  " efs file has been archived at %s" % archive_file_efs_filename
559
553
  )
560
554
 
@@ -574,16 +568,14 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
574
568
  self.scan_info["filename"] = archive_file_raw_filename
575
569
  # self.scan_info["workingDirectory"] = archive_directory
576
570
 
577
- logging.getLogger("HWR").warning(
578
- " generating graph data from %s" % str(chooch_graph_data)
579
- )
571
+ self.log.warning(" generating graph data from %s" % str(chooch_graph_data))
580
572
 
581
573
  chooch_graph_x, chooch_graph_y1, chooch_graph_y2 = zip(*chooch_graph_data)
582
574
  chooch_graph_x = list(chooch_graph_x)
583
575
  for i in range(len(chooch_graph_x)):
584
576
  chooch_graph_x[i] = chooch_graph_x[i] / 1000.0
585
577
 
586
- logging.getLogger("HWR").info("PX1EnergScan. Saving png")
578
+ self.log.info("PX1EnergScan. Saving png")
587
579
 
588
580
  # prepare to save png files
589
581
  title = "%10s %6s %6s\n%10s %6.2f %6.2f\n%10s %6.2f %6.2f" % (
@@ -620,21 +612,21 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
620
612
  self.scan_info["jpegChoochFileFullPath"] = str(escan_ispyb_path)
621
613
 
622
614
  try:
623
- logging.getLogger("HWR").info(
615
+ self.log.info(
624
616
  "Rendering energy scan and Chooch graphs to PNG file : %s",
625
617
  scan_file_png_filename,
626
618
  )
627
619
  canvas.print_figure(scan_file_png_filename, dpi=80)
628
620
  except Exception:
629
- logging.getLogger("HWR").exception("could not print figure")
621
+ self.log.exception("could not print figure")
630
622
  try:
631
- logging.getLogger("HWR").info(
623
+ self.log.info(
632
624
  "Rendering energy scan and Chooch graphs to PNG file : %s",
633
625
  archive_file_png_filename,
634
626
  )
635
627
  canvas.print_figure(archive_file_png_filename, dpi=80)
636
628
  except Exception:
637
- logging.getLogger("HWR").exception("could not save figure")
629
+ self.log.exception("could not save figure")
638
630
 
639
631
  self.store_energy_scan()
640
632
 
@@ -680,9 +672,7 @@ class PX1EnergyScan(AbstractEnergyScan, Equipment):
680
672
  self.log.info("EnergyScan. saving data in %s" % scan_filename)
681
673
  self.log.info("EnergyScan. archiving data in %s" % archive_filename)
682
674
  except Exception:
683
- logging.getLogger("HWR").exception(
684
- "EMBLEnergyScan: could not create results raw file"
685
- )
675
+ self.log.exception("EMBLEnergyScan: could not create results raw file")
686
676
  return False
687
677
 
688
678
  scan_data = self.get_scan_data()
@@ -296,7 +296,7 @@ class PX1Environment(HardwareObject):
296
296
  def setAuthorizationFlag(self, value):
297
297
  # make here the logic with eventually other permits (like hardware permit)
298
298
  if value != self.auth:
299
- logging.getLogger("HWR").debug(
299
+ self.log.debug(
300
300
  "PX1Environment. received authorization from cryotong: %s" % value
301
301
  )
302
302
  self.auth = value
@@ -54,16 +54,14 @@ class PX1MiniDiff(GenericDiffractometer):
54
54
  if env_state != "RUNNING" and self.px1env_ho.isPhaseVisuSample():
55
55
  break
56
56
  if time.time() - t0 > timeout:
57
- logging.getLogger("HWR").debug(
58
- "timeout sending supervisor to sample view phase"
59
- )
57
+ self.log.debug("timeout sending supervisor to sample view phase")
60
58
  break
61
59
  gevent.sleep(0.1)
62
60
 
63
61
  self.lightarm_hwobj.adjustLightLevel()
64
62
 
65
63
  def smargon_state_changed(self, value):
66
- logging.getLogger("HWR").debug("smargon state changed")
64
+ self.log.debug("smargon state changed")
67
65
  self.smargon_state = value
68
66
  self.emit("minidiffStateChanged", (value,))
69
67
 
@@ -106,7 +104,7 @@ class PX1MiniDiff(GenericDiffractometer):
106
104
  def px1_manual_centring(self, sample_info=None, wait_result=None):
107
105
  """ """
108
106
  self.emit_progress_message("Manual 3 click centring...")
109
- logging.getLogger("HWR").debug(
107
+ self.log.debug(
110
108
  " starting manual 3 click centring. phiy is %s" % str(self.centring_phiy)
111
109
  )
112
110
 
@@ -137,7 +135,7 @@ class PX1MiniDiff(GenericDiffractometer):
137
135
  """
138
136
  Descript. :
139
137
  """
140
- logging.getLogger("HWR").debug("Diffractometer: centring procedure done.")
138
+ self.log.debug("Diffractometer: centring procedure done.")
141
139
  try:
142
140
  motor_pos = centring_procedure.get()
143
141
  if isinstance(motor_pos, gevent.GreenletExit):
@@ -146,15 +144,11 @@ class PX1MiniDiff(GenericDiffractometer):
146
144
  logging.exception("Could not complete centring")
147
145
  self.emit_centring_failed()
148
146
  else:
149
- logging.getLogger("HWR").debug(
150
- "Diffractometer: centring procedure done. %s" % motor_pos
151
- )
147
+ self.log.debug("Diffractometer: centring procedure done. %s" % motor_pos)
152
148
 
153
149
  for motor in motor_pos:
154
150
  position = motor_pos[motor]
155
- logging.getLogger("HWR").debug(
156
- " - motor is %s - going to %s" % (motor.id, position)
157
- )
151
+ self.log.debug(" - motor is %s - going to %s" % (motor.id, position))
158
152
 
159
153
  self.emit_progress_message("Moving sample to centred position...")
160
154
  self.emit_centring_moving()
@@ -213,12 +207,10 @@ class PX1MiniDiff(GenericDiffractometer):
213
207
  # We do not want to modify the input dict
214
208
  motor_positions_copy = motor_positions.copy()
215
209
 
216
- logging.getLogger("HWR").debug(
217
- "MiniDiff moving motors. %s" % str(motor_positions_copy)
218
- )
210
+ self.log.debug("MiniDiff moving motors. %s" % str(motor_positions_copy))
219
211
 
220
212
  self.wait_device_ready(timeout)
221
- logging.getLogger("HWR").debug(" now ready to move them")
213
+ self.log.debug(" now ready to move them")
222
214
  for motor in motor_positions_copy.keys():
223
215
  position = motor_positions_copy[motor]
224
216
  if type(motor) in (str, unicode):
@@ -229,19 +221,17 @@ class PX1MiniDiff(GenericDiffractometer):
229
221
  continue
230
222
  motor_positions_copy[motor] = position
231
223
 
232
- logging.getLogger("HWR").debug(
233
- " / moving motor. %s to %s" % (motor.id, position)
234
- )
224
+ self.log.debug(" / moving motor. %s to %s" % (motor.id, position))
235
225
  self.wait_device_ready(timeout)
236
226
  try:
237
227
  motor.set_value(position, timeout=None)
238
228
  except Exception:
239
229
  import traceback
240
230
 
241
- logging.getLogger("HWR").debug(
231
+ self.log.debug(
242
232
  " / error moving motor on diffractometer. state is %s"
243
233
  % (self.smargon_state)
244
234
  )
245
- logging.getLogger("HWR").debug(" / %s " % traceback.format_exc())
235
+ self.log.debug(" / %s " % traceback.format_exc())
246
236
 
247
237
  self.wait_device_ready(timeout)