예제 #1
0
    def complete_initialization(app):
        app.beamline = hwr.getHardwareObject(cmdline_options.beamline_setup)
        app.session = app.beamline.getObjectByRole("session")
        app.collect = app.beamline.getObjectByRole("collect")

        Utils.enable_snapshots(app.collect)

        app.diffractometer = app.beamline.getObjectByRole("diffractometer")

        if getattr(app.diffractometer, 'centring_motors_list', None) is None:
            # centring_motors_list is the list of roles corresponding to diffractometer motors
            app.diffractometer.centring_motors_list = app.diffractometer.getPositions().keys()

        app.db_connection = app.beamline.getObjectByRole("lims_client")
        app.empty_queue = pickle.dumps(hwr.getHardwareObject(cmdline_options.queue_model))
        app.sample_changer = app.beamline.getObjectByRole("sample_changer")
        app.rest_lims = app.beamline.getObjectByRole("lims_rest_client")
        app.queue = qutils.new_queue()

        try:
            SampleCentring.init_signals()
            SampleChanger.init_signals()
            Beamline.init_signals()
        except Exception:
            sys.excepthook(*sys.exc_info())
예제 #2
0
    def complete_initialization(app):
        app.beamline = hwr.getHardwareObject(cmdline_options.beamline_setup)
        app.session = app.beamline.getObjectByRole("session")
        app.collect = app.beamline.getObjectByRole("collect")

        Utils.enable_snapshots(app.collect)

        app.diffractometer = app.beamline.getObjectByRole("diffractometer")

        if getattr(app.diffractometer, 'centring_motors_list', None) is None:
            # centring_motors_list is the list of roles corresponding to diffractometer motors
            app.diffractometer.centring_motors_list = app.diffractometer.getPositions(
            ).keys()

        app.db_connection = app.beamline.getObjectByRole("lims_client")
        app.empty_queue = pickle.dumps(
            hwr.getHardwareObject(cmdline_options.queue_model))
        app.sample_changer = app.beamline.getObjectByRole("sample_changer")
        app.rest_lims = app.beamline.getObjectByRole("lims_rest_client")
        app.queue = qutils.new_queue()

        try:
            SampleCentring.init_signals()
            SampleChanger.init_signals()
            Beamline.init_signals()
        except Exception:
            sys.excepthook(*sys.exc_info())
예제 #3
0
def complete_initialization(app):
    app.beamline = get_hardware_object(hwr, cmdline_options.beamline_setup)
    app.xml_rpc_server = get_hardware_object(hwr, 'xml-rpc-server')
    app.actions = hwr.getHardwareObject(cmdline_options.beamline_actions)
    app.plotting = hwr.getHardwareObject(cmdline_options.plotting)

    app.session = get_hardware_object(app.beamline, "session")
    app.collect = get_hardware_object(app.beamline, "collect")
    app.workflow = get_hardware_object(app.beamline, "workflow")
    app.shapes = get_hardware_object(app.beamline, "shape_history")
    app.diffractometer = get_hardware_object(app.beamline, "diffractometer")
    app.db_connection = get_hardware_object(app.beamline, "lims_client")
    app.sample_changer = get_hardware_object(app.beamline, "sample_changer")
    app.sc_maintenance = get_hardware_object(app.beamline,
                                             "sample_changer_maintenance")
    app.rest_lims = get_hardware_object(app.beamline, "lims_rest_client")

    Utils.enable_snapshots(app.collect)
    init_app_state(app)
    init_sample_video(app)

    try:
        SampleCentring.init_signals()
        SampleChanger.init_signals()
        Beamline.init_signals()
        Diffractometer.init_signals()
    except Exception:
        sys.excepthook(*sys.exc_info())

    INIT_EVENT.set()
예제 #4
0
    def complete_initialization(app):
        app.beamline = hwr.getHardwareObject(cmdline_options.beamline_setup)
        app.xml_rpc_server = hwr.getHardwareObject('xml-rpc-server')
        app.session = app.beamline.getObjectByRole("session")
        app.collect = app.beamline.getObjectByRole("collect")
        app.workflow = app.beamline.getObjectByRole("workflow")
        app.shapes = app.beamline.getObjectByRole("shape_history")

        Utils.enable_snapshots(app.collect)

        app.diffractometer = app.beamline.getObjectByRole("diffractometer")

        if getattr(app.diffractometer, 'centring_motors_list', None) is None:
            # centring_motors_list is the list of roles corresponding to diffractometer motors
            app.diffractometer.centring_motors_list = app.diffractometer.getPositions().keys()

        app.db_connection = app.beamline.getObjectByRole("lims_client")
        app.empty_queue = pickle.dumps(hwr.getHardwareObject(cmdline_options.queue_model))
        app.sample_changer = app.beamline.getObjectByRole("sample_changer")
        app.sc_maintenance = app.beamline.getObjectByRole("sample_changer_maintenance")
        app.rest_lims = app.beamline.getObjectByRole("lims_rest_client")
        app.queue = qutils.new_queue()
        app.actions = hwr.getHardwareObject(cmdline_options.beamline_actions)
        app.plotting = hwr.getHardwareObject(cmdline_options.plotting)

        # SampleID of currently mounted sample
        app.CURRENTLY_MOUNTED_SAMPLE = None
        app.SAMPLE_TO_BE_MOUNTED = ''
        app.AUTO_MOUNT_SAMPLE = False
        app.AUTO_ADD_DIFFPLAN = False
        app.CENTRING_METHOD = CENTRING_METHOD.LOOP
        app.NUM_SNAPSHOTS = app.collect.getProperty('num_snapshots', 4)
        app.NODE_ID_TO_LIMS_ID = {}
        app.INITIAL_FILE_LIST = []
        app.SC_CONTENTS = {"FROM_CODE": {}, "FROM_LOCATION": {}}
        app.SAMPLE_LIST = {"sampleList": {}, 'sampleOrder': []}
        app.TEMP_DISABLED = []

        # set up streaming
        from mxcube3.video import streaming

        try:
            streaming.init(app.diffractometer.camera, cmdline_options.video_device)
        except RuntimeError as ex:
            logging.getLogger('HWR').info(str(ex))
            app.VIDEO_DEVICE = None
        else:
            app.VIDEO_DEVICE = cmdline_options.video_device

        try:
            SampleCentring.init_signals()
            SampleChanger.init_signals()
            Beamline.init_signals()
            Diffractometer.init_signals()
        except Exception:
            sys.excepthook(*sys.exc_info())

        logging.getLogger("HWR").info("MXCuBE 3 initialized, it took %.1f seconds" % (time.time() - t0))
예제 #5
0
 def complete_initialization(app):
     app.beamline = hwr.getHardwareObject(cmdline_options.beamline_setup)
     app.session = app.beamline.getObjectByRole("session")
     app.collect = app.beamline.getObjectByRole("collect")
     app.diffractometer = app.beamline.getObjectByRole("diffractometer")
     app.db_connection = app.beamline.getObjectByRole("lims_client")
     app.empty_queue = jsonpickle.encode(hwr.getHardwareObject(cmdline_options.queue_model))
     app.sample_changer = app.beamline.getObjectByRole("sample_changer")
     try:
         routes.SampleCentring.init_signals()
     except Exception:
         sys.excepthook(*sys.exc_info())
예제 #6
0
def init_app_state(app):
    from queue_entry import CENTRING_METHOD

    # SampleID of currently mounted sample
    app.CURRENTLY_MOUNTED_SAMPLE = None
    app.SAMPLE_TO_BE_MOUNTED = ''
    app.CENTRING_METHOD = CENTRING_METHOD.LOOP
    app.NODE_ID_TO_LIMS_ID = {}
    app.INITIAL_FILE_LIST = []
    app.SC_CONTENTS = {"FROM_CODE": {}, "FROM_LOCATION": {}}
    app.SAMPLE_LIST = {"sampleList": {}, 'sampleOrder': []}
    app.TEMP_DISABLED = []
    app.USERS = {}
    qutils.init_queue_settings()
    app.ALLOW_REMOTE = cmdline_options.allow_remote
    app.TIMEOUT_GIVES_CONTROL = cmdline_options.ra_timeout

    app.empty_queue = pickle.dumps(
        hwr.getHardwareObject(cmdline_options.queue_model))
    app.queue = qutils.new_queue()