Skip to content

Commit 34897f1

Browse files
committed
Made MXLIMS export function again; Updated poetry.lock
1 parent 3bd875d commit 34897f1

File tree

3 files changed

+421
-75
lines changed

3 files changed

+421
-75
lines changed

mxcubecore/queue_entry/base_queue_entry.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
execute queue entries in a hierarchical manner.
2323
"""
2424

25+
from __future__ import annotations
2526
import copy
2627
import logging
2728
import sys
@@ -32,7 +33,7 @@
3233
from enum import Enum
3334

3435
import gevent
35-
from mxlims.pydantic.messages import JobMessage
36+
from typing import Optional, TYPE_CHECKING
3637

3738
from mxcubecore import HardwareRepository as HWR
3839
from mxcubecore.HardwareObjects import autoprocessing
@@ -42,6 +43,8 @@
4243
EXPERIMENT_TYPE,
4344
)
4445
from mxcubecore.utils import mxlims as mxutils
46+
if TYPE_CHECKING:
47+
from mxlims.pydantic.objects.MxExperiment import MxExperiment
4548

4649
__credits__ = ["MXCuBE collaboration"]
4750
__license__ = "LGPLv3+"
@@ -262,7 +265,7 @@ def __init__(self, view=None, data_model=None, view_set_queue_entry=True):
262265
self._data_model.lims_session_id = HWR.beamline.session.session_id
263266

264267
# MXLIMS record for currently running experiment
265-
self._mxlims_record: Optional[JobMessage.JobMessage] = None
268+
self._mxlims_job: Optional[MxExperiment] = None
266269

267270
def is_failed(self):
268271
"""Returns True if failed"""
@@ -336,13 +339,13 @@ def set_enabled(self, state):
336339
"""
337340
self._checked_for_exec = state
338341

339-
def get_mxlims_record(self) -> JobMessage.JobMessage:
342+
def get_mxlims_job(self) -> Optional[MxExperiment]:
340343
"""Get MxExperiment MXLIMS record if the entry is currently running"""
341344
obj = self
342345
result = None
343346
container = obj.get_container()
344347
while result is None and container is not None:
345-
result = obj._mxlims_record
348+
result = obj._mxlims_job
346349
obj = container
347350
container = obj.get_container()
348351
return result
@@ -384,13 +387,11 @@ def post_execute(self):
384387
self.get_data_model().set_enabled(False)
385388
self.set_enabled(False)
386389

387-
mxlims_record = self._mxlims_record
388-
if mxlims_record is not None:
389-
self._mxlims_record = None
390-
mxlims_record.job.end_time = datetime.now()
391-
mxutils.export_mxrecord(
392-
mxlims_record, None,
393-
)
390+
mxlims_job = self._mxlims_job
391+
if mxlims_job is not None:
392+
self._mxlims_job = None
393+
mxlims_job.end_time = datetime.now()
394+
mxutils.export_mxjob(mxlims_job, None,)
394395

395396
# self._set_background_color()
396397

mxcubecore/utils/mxlims.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
from pathlib import Path
2828
from typing import Optional, Tuple, Union
2929

30-
from mxlims.pydantic.datatypes import Scan, UnitCell
31-
from mxlims.pydantic.mxlims_messages import MxlimsMessage
30+
from mxlims.pydantic.datatypes.Scan import Scan
31+
from mxlims.pydantic.datatypes.UnitCell import UnitCell
32+
from mxlims.pydantic.messages.MxlimsMessage import MxlimsMessage
3233
from mxlims.pydantic.objects.CollectionSweep import CollectionSweep
3334
from mxlims.pydantic.objects.MacromoleculeSample import MacromoleculeSample
3435
from mxlims.pydantic.objects.MxExperiment import MxExperiment
@@ -120,7 +121,7 @@ def make_mx_experiment( # noqa: C901, PLR0912, PLR0915
120121
"beta": crystal.cell_beta,
121122
"gamma": crystal.cell_gamma,
122123
}
123-
unit_cell = UnitCell.UnitCell(**dd1) if all(dd1.values()) else None
124+
unit_cell = UnitCell(**dd1) if all(dd1.values()) else None
124125
if unit_cell:
125126
jobdata["expected_unit_cell"] = unit_cell
126127

@@ -179,7 +180,7 @@ def add_data_collection(
179180
detector_distance = parameters.pop("detector_distance", None)
180181
if detector_distance is not None:
181182
startpos["detector_distance"] = detector_distance
182-
scan = Scan.Scan(
183+
scan = Scan(
183184
scan_position_start=axis_pos_start,
184185
first_image_number=acqparams.first_image,
185186
number_images=acqparams.num_images,

0 commit comments

Comments
 (0)