diff --git a/csaxs_bec/bec_ipython_client/startup/post_startup.py b/csaxs_bec/bec_ipython_client/startup/post_startup.py index ca2ade5..9632da9 100644 --- a/csaxs_bec/bec_ipython_client/startup/post_startup.py +++ b/csaxs_bec/bec_ipython_client/startup/post_startup.py @@ -23,7 +23,6 @@ parse the --session argument, add the following lines to the script: """ # pylint: disable=invalid-name, unused-import, import-error, undefined-variable, unused-variable, unused-argument, no-name-in-module -import argparse from bec_lib import bec_logger @@ -31,21 +30,24 @@ logger = bec_logger.logger logger.info("Using the cSAXS startup script.") -parser = argparse.ArgumentParser() -parser.add_argument("--session", help="Session name", type=str, default="cSAXS") -args = parser.parse_args() +# pylint: disable=import-error +_args = _main_dict["args"] -if args.session == "LamNI": - print("Loading LamNI session") +_session_name = "cSAXS" +if _args.session.lower() == "lamni": from csaxs_bec.bec_ipython_client.plugins.cSAXS import * from csaxs_bec.bec_ipython_client.plugins.LamNI import * + _session_name = "LamNI" lamni = LamNI(bec) + logger.success("LamNI session loaded.") -elif args.session == "cSAXS": +elif _args.session.lower() == "csaxs": print("Loading cSAXS session") from csaxs_bec.bec_ipython_client.plugins.cSAXS import * + logger.success("cSAXS session loaded.") + # SETUP BEAMLINE INFO from bec_ipython_client.plugins.SLS.sls_info import OperatorInfo, SLSInfo @@ -57,7 +59,7 @@ bec._beamline_mixin._bl_info_register(SLSInfo) bec._beamline_mixin._bl_info_register(OperatorInfo) # SETUP PROMPTS -bec._ip.prompts.username = args.session +bec._ip.prompts.username = _session_name bec._ip.prompts.status = 1 @@ -68,9 +70,17 @@ from bec_lib.bl_conditions import ( ShutterCondition, ) -# _fast_orbit_feedback_condition = FastOrbitFeedbackCondition(dev.sls_fast_orbit_feedback) -_light_available_condition = LightAvailableCondition(dev.sls_machine_status) -_shutter_condition = ShutterCondition(dev.x12sa_es1_shutter_status) -# bec.bl_checks.register(_fast_orbit_feedback_condition) -bec.bl_checks.register(_light_available_condition) -bec.bl_checks.register(_shutter_condition) +if "sls_machine_status" in dev: + print("Registering light available condition for SLS machine status") + _light_available_condition = LightAvailableCondition(dev.sls_machine_status) + bec.bl_checks.register(_light_available_condition) + +if "x12sa_es1_shutter_status" in dev: + print("Registering shutter condition for X12SA ES1 shutter status") + _shutter_condition = ShutterCondition(dev.x12sa_es1_shutter_status) + bec.bl_checks.register(_shutter_condition) + +# if hasattr(dev, "sls_fast_orbit_feedback"): +# print("Registering fast orbit feedback condition for SLS fast orbit feedback") +# _fast_orbit_feedback_condition = FastOrbitFeedbackCondition(dev.sls_fast_orbit_feedback) +# bec.bl_checks.register(_fast_orbit_feedback_condition) diff --git a/csaxs_bec/bec_ipython_client/startup/pre_startup.py b/csaxs_bec/bec_ipython_client/startup/pre_startup.py index 6678e60..b1e4301 100644 --- a/csaxs_bec/bec_ipython_client/startup/pre_startup.py +++ b/csaxs_bec/bec_ipython_client/startup/pre_startup.py @@ -9,7 +9,6 @@ def extend_command_line_args(parser): Extend the command line arguments of the BEC client. """ - # example: - # parser.add_argument("--session", help="Session name", type=str, default="my_default_session") + parser.add_argument("--session", help="Session name", type=str, default="cSAXS") return parser diff --git a/pyproject.toml b/pyproject.toml index a32dc07..ff6a316 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ plugin_bec = "csaxs_bec" [project.entry-points."bec.scans"] plugin_scans = "csaxs_bec.scans" -[project.entry-points."bec.ipython_client"] +[project.entry-points."bec.ipython_client_startup"] plugin_ipython_client_pre = "csaxs_bec.bec_ipython_client.startup.pre_startup" plugin_ipython_client_post = "csaxs_bec.bec_ipython_client.startup"