Source code for mxcubecore.HardwareObjects.Gphl.GphlQueueEntry

#
#  Project name: MXCuBE
#  https://github.com/mxcube
#
#  This file is part of MXCuBE software.
#
#  MXCuBE is free software: you can redistribute it and/or modify
#  it under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  MXCuBE is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU Lesser General Public License for more details.
#
#  You should have received a copy of the GNU Lesser General Public License
#  along with MXCuBE. If not, see <http://www.gnu.org/licenses/>.

"""
Module contains Gphl specific queue entries
"""

import logging

from mxcubecore import HardwareRepository as HWR
from mxcubecore.queue_entry.base_queue_entry import BaseQueueEntry

__credits__ = ["MXCuBE collaboration"]
__license__ = "LGPLv3+"
__category__ = "queue"


[docs]class GphlWorkflowQueueEntry(BaseQueueEntry):
[docs] def execute(self): BaseQueueEntry.execute(self) msg = "Starting GPhL workflow (%s), please wait." % ( self.get_data_model().strategy_name ) logging.getLogger("user_level_log").info(msg) HWR.beamline.gphl_workflow.execute()
[docs] def pre_execute(self): BaseQueueEntry.pre_execute(self) if not HWR.beamline.gphl_workflow.is_ready(): logging.getLogger("user_level_log").warning( "WARNING: GPhL workflow was not ready - cleaning up" ) HWR.beamline.gphl_workflow.post_execute() HWR.beamline.gphl_workflow.pre_execute(self) logging.getLogger("HWR").debug("Done GphlWorkflowQueueEntry.pre_execute")
[docs] def post_execute(self): BaseQueueEntry.post_execute(self) msg = "Finishing GPhL workflow (%s)" % (self.get_data_model().strategy_name) logging.getLogger("user_level_log").info(msg) HWR.beamline.gphl_workflow.post_execute()
[docs] def stop(self): HWR.beamline.gphl_workflow.workflow_aborted("Dummy", "Dummy") BaseQueueEntry.stop(self) logging.getLogger("user_level_log").info( "MXCuBE aborting current GPhL workflow" ) self.get_view().setText(1, "Stopped")