spreadsheet now works again
This commit is contained in:
@ -1,15 +1,18 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
from loguru import logger
|
||||||
|
|
||||||
# at the moment this allows us to group the subdirectories as modules easily
|
# at the moment this allows us to group the subdirectories as modules easily
|
||||||
# TODO: a more general way would be to have this cristallina as a installed package
|
# TODO: a more general way would be to have this cristallina as a installed package
|
||||||
os.chdir("/sf/cristallina/applications/slic/cristallina")
|
os.chdir("/sf/cristallina/applications/slic/cristallina")
|
||||||
|
|
||||||
# setup logging
|
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
def setup_logging():
|
def setup_general_logging():
|
||||||
|
""" Setup logging to console and files in both the snapshots and
|
||||||
|
the respective pgroup.
|
||||||
|
"""
|
||||||
|
|
||||||
logger.remove()
|
logger.remove()
|
||||||
logger.add(
|
logger.add(
|
||||||
sys.stderr,
|
sys.stderr,
|
||||||
@ -19,16 +22,16 @@ def setup_logging():
|
|||||||
logger.info("Loading started.")
|
logger.info("Loading started.")
|
||||||
|
|
||||||
# create file handler which logs
|
# create file handler which logs
|
||||||
# TODO: better directory for general log files?
|
|
||||||
try:
|
try:
|
||||||
logger.add(
|
logger.add(
|
||||||
"/sf/cristallina/applications/slic/cristallina/log/cristallina.log",
|
"/sf/cristallina/applications/beamline/snapshots/slic_logs/cristallina.log",
|
||||||
format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}",
|
format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}",
|
||||||
level="DEBUG",
|
level="DEBUG",
|
||||||
rotation="1 week",
|
rotation="1 week",
|
||||||
)
|
)
|
||||||
|
logger.info("Logging to snapshots.")
|
||||||
except PermissionError as e:
|
except PermissionError as e:
|
||||||
logger.warning("Cannot write log file.")
|
logger.warning("Cannot write log file to snapshots.")
|
||||||
logger.warning(e)
|
logger.warning(e)
|
||||||
|
|
||||||
def setup_logging_pgroup(pgroup, level="INFO"):
|
def setup_logging_pgroup(pgroup, level="INFO"):
|
||||||
@ -39,18 +42,16 @@ def setup_logging_pgroup(pgroup, level="INFO"):
|
|||||||
level=level,
|
level=level,
|
||||||
rotation="1 week",
|
rotation="1 week",
|
||||||
)
|
)
|
||||||
|
logger.info(f"Logging to pgroup {pgroup}.")
|
||||||
except PermissionError as e:
|
except PermissionError as e:
|
||||||
logger.warning(f"Cannot write log file to pgroup {pgroup}.")
|
logger.warning(f"Cannot write log file to pgroup {pgroup}.")
|
||||||
|
|
||||||
|
|
||||||
# We setup the logging before going further so that
|
# We setup the logging before going further so that
|
||||||
# other modules can write startup messages into the log file.
|
# other modules can write startup messages into the log file.
|
||||||
setup_logging()
|
setup_general_logging()
|
||||||
|
|
||||||
# TODO: this is later overwritten, probably not intended that way?
|
from beamline.alignment_laser import AlignmentLaser
|
||||||
# from epics import PV
|
|
||||||
|
|
||||||
# from devices.alignment_laser import AlignmentLaser
|
|
||||||
|
|
||||||
from slic.gui import GUI
|
from slic.gui import GUI
|
||||||
from slic.core.adjustable import Adjustable, PVAdjustable, DummyAdjustable
|
from slic.core.adjustable import Adjustable, PVAdjustable, DummyAdjustable
|
||||||
@ -94,7 +95,7 @@ dummy = DummyAdjustable(units="au")
|
|||||||
|
|
||||||
from beamline.components import upstream_attenuator, attenuator, shutter, pulsepicker, front_end_attenuator
|
from beamline.components import upstream_attenuator, attenuator, shutter, pulsepicker, front_end_attenuator
|
||||||
|
|
||||||
# from beamline.components import kbHor, kbVer
|
from beamline.components import kbHor, kbVer
|
||||||
|
|
||||||
from systems.components import cta
|
from systems.components import cta
|
||||||
|
|
||||||
@ -110,7 +111,7 @@ def test_attenuator():
|
|||||||
logger.warning("No transmission value reported from {attenuator.ID}")
|
logger.warning("No transmission value reported from {attenuator.ID}")
|
||||||
|
|
||||||
|
|
||||||
# test_attenuator()
|
test_attenuator()
|
||||||
|
|
||||||
# Undulators
|
# Undulators
|
||||||
from beamline import undulator
|
from beamline import undulator
|
||||||
|
@ -24,49 +24,49 @@ n_unds = [6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22] # 14 is t
|
|||||||
|
|
||||||
overview = SimpleDevice(
|
overview = SimpleDevice(
|
||||||
"Cristallina Overview",
|
"Cristallina Overview",
|
||||||
# OKHB154_X_trans = PVAdjustable("SAROP31-OKBH154:W_X.RBV", internal=True),
|
OKHB154_X_trans = PVAdjustable("SAROP31-OKBH154:W_X.RBV", internal=True),
|
||||||
# OKHB154_Y_trans = PVAdjustable("SAROP31-OKBH154:W_Y.RBV", internal=True),
|
OKHB154_Y_trans = PVAdjustable("SAROP31-OKBH154:W_Y.RBV", internal=True),
|
||||||
# OKHB154_X_rot = PVAdjustable("SAROP31-OKBH154:W_RX.RBV", internal=True),
|
OKHB154_X_rot = PVAdjustable("SAROP31-OKBH154:W_RX.RBV", internal=True),
|
||||||
# OKHB154_Y_rot = PVAdjustable("SAROP31-OKBH154:W_RY.RBV", internal=True),
|
OKHB154_Y_rot = PVAdjustable("SAROP31-OKBH154:W_RY.RBV", internal=True),
|
||||||
# OKHB154_Z_rot = PVAdjustable("SAROP31-OKBH154:W_RZ.RBV", internal=True),
|
OKHB154_Z_rot = PVAdjustable("SAROP31-OKBH154:W_RZ.RBV", internal=True),
|
||||||
# OKBV153_X_trans = PVAdjustable("SAROP31-OKBV153:W_X.RBV", internal=True),
|
OKBV153_X_trans = PVAdjustable("SAROP31-OKBV153:W_X.RBV", internal=True),
|
||||||
# OKBV153_Y_trans = PVAdjustable("SAROP31-OKBV153:W_Y.RBV", internal=True),
|
OKBV153_Y_trans = PVAdjustable("SAROP31-OKBV153:W_Y.RBV", internal=True),
|
||||||
# OKBV153_X_rot = PVAdjustable("SAROP31-OKBV153:W_RX.RBV", internal=True),
|
OKBV153_X_rot = PVAdjustable("SAROP31-OKBV153:W_RX.RBV", internal=True),
|
||||||
# OKBV153_Y_rot = PVAdjustable("SAROP31-OKBV153:W_RY.RBV", internal=True),
|
OKBV153_Y_rot = PVAdjustable("SAROP31-OKBV153:W_RY.RBV", internal=True),
|
||||||
# OKBV153_Z_rot = PVAdjustable("SAROP31-OKBV153:W_RZ.RBV", internal=True),
|
OKBV153_Z_rot = PVAdjustable("SAROP31-OKBV153:W_RZ.RBV", internal=True),
|
||||||
# ODMV152_X_trans = PVAdjustable("SAROP31-OKBV153:W_X.RBV", internal=True),
|
ODMV152_X_trans = PVAdjustable("SAROP31-OKBV153:W_X.RBV", internal=True),
|
||||||
# ODMV152_Y_trans = PVAdjustable("SAROP31-OKBV153:W_Y.RBV", internal=True),
|
ODMV152_Y_trans = PVAdjustable("SAROP31-OKBV153:W_Y.RBV", internal=True),
|
||||||
# ODMV152_X_rot = PVAdjustable("SAROP31-OKBV153:W_RX.RBV", internal=True),
|
ODMV152_X_rot = PVAdjustable("SAROP31-OKBV153:W_RX.RBV", internal=True),
|
||||||
# ODMV152_Y_rot = PVAdjustable("SAROP31-OKBV153:W_RY.RBV", internal=True),
|
ODMV152_Y_rot = PVAdjustable("SAROP31-OKBV153:W_RY.RBV", internal=True),
|
||||||
# ODMV152_COATING = PVAdjustable("SAROP31-ODMV152:COATING_SP", internal=True),
|
ODMV152_COATING = PVAdjustable("SAROP31-ODMV152:COATING_SP", internal=True),
|
||||||
OATA150_transmission=PVAdjustable("SAROP31-OATA150:TRANS_SP", internal=True),
|
OATA150_transmission=PVAdjustable("SAROP31-OATA150:TRANS_SP", internal=True),
|
||||||
# PBPS149_motor_probe = PVAdjustable("SAROP31-PBPS149:MOTOR_PROBE.RBV", internal=True),
|
PBPS149_motor_probe = PVAdjustable("SAROP31-PBPS149:MOTOR_PROBE.RBV", internal=True),
|
||||||
# PBPS149_motor_X1 = PVAdjustable("SAROP31-PBPS149:MOTOR_X1.RBV", internal=True),
|
PBPS149_motor_X1 = PVAdjustable("SAROP31-PBPS149:MOTOR_X1.RBV", internal=True),
|
||||||
# PBPS149_motor_Y1 = PVAdjustable("SAROP31-PBPS149:MOTOR_Y1.RBV", internal=True),
|
PBPS149_motor_Y1 = PVAdjustable("SAROP31-PBPS149:MOTOR_Y1.RBV", internal=True),
|
||||||
# PBPS149_wafer = PVAdjustable("SAROP31-PBPS149:PROBE_SP", internal=True),
|
PBPS149_wafer = PVAdjustable("SAROP31-PBPS149:PROBE_SP", internal=True),
|
||||||
# OAPU149_hor_pos = PVAdjustable("SAROP31-OAPU149:MOTOR_X.VAL", internal=True),
|
OAPU149_hor_pos = PVAdjustable("SAROP31-OAPU149:MOTOR_X.VAL", internal=True),
|
||||||
# OAPU149_hor_width = PVAdjustable("SAROP31-OAPU149:MOTOR_W.VAL", internal=True),
|
OAPU149_hor_width = PVAdjustable("SAROP31-OAPU149:MOTOR_W.VAL", internal=True),
|
||||||
# OAPU149_vert_pos = PVAdjustable("SAROP31-OAPU149:MOTOR_Y.VAL", internal=True),
|
OAPU149_vert_pos = PVAdjustable("SAROP31-OAPU149:MOTOR_Y.VAL", internal=True),
|
||||||
# OAPU149_vert_width = PVAdjustable("SAROP31-OAPU149:MOTOR_H.VAL", internal=True),
|
OAPU149_vert_width = PVAdjustable("SAROP31-OAPU149:MOTOR_H.VAL", internal=True),
|
||||||
# OAPU107_hor_pos = PVAdjustable("SAROP31-OAPU107:MOTOR_X.VAL", internal=True),
|
OAPU107_hor_pos = PVAdjustable("SAROP31-OAPU107:MOTOR_X.VAL", internal=True),
|
||||||
# OAPU107_hor_width = PVAdjustable("SAROP31-OAPU107:MOTOR_W.VAL", internal=True),
|
OAPU107_hor_width = PVAdjustable("SAROP31-OAPU107:MOTOR_W.VAL", internal=True),
|
||||||
# OAPU107_vert_pos = PVAdjustable("SAROP31-OAPU107:MOTOR_Y.VAL", internal=True),
|
OAPU107_vert_pos = PVAdjustable("SAROP31-OAPU107:MOTOR_Y.VAL", internal=True),
|
||||||
# OAPU107_vert_width = PVAdjustable("SAROP31-OAPU107:MOTOR_H.VAL", internal=True),
|
OAPU107_vert_width = PVAdjustable("SAROP31-OAPU107:MOTOR_H.VAL", internal=True),
|
||||||
# OOMH084_X_trans = PVAdjustable("SAROP31-OOMH084:W_X.RBV", internal=True),
|
OOMH084_X_trans = PVAdjustable("SAROP31-OOMH084:W_X.RBV", internal=True),
|
||||||
# OOMH084_Y_trans = PVAdjustable("SAROP31-OOMH084:W_Y.RBV", internal=True),
|
OOMH084_Y_trans = PVAdjustable("SAROP31-OOMH084:W_Y.RBV", internal=True),
|
||||||
# OOMH084_X_rot = PVAdjustable("SAROP31-OOMH084:W_RX.RBV", internal=True),
|
OOMH084_X_rot = PVAdjustable("SAROP31-OOMH084:W_RX.RBV", internal=True),
|
||||||
# OOMH084_Y_rot = PVAdjustable("SAROP31-OOMH084:W_RY.RBV", internal=True),
|
OOMH084_Y_rot = PVAdjustable("SAROP31-OOMH084:W_RY.RBV", internal=True),
|
||||||
# OOMH084_Z_rot = PVAdjustable("SAROP31-OOMH084:W_RZ.RBV", internal=True),
|
OOMH084_Z_rot = PVAdjustable("SAROP31-OOMH084:W_RZ.RBV", internal=True),
|
||||||
# OOMH084_COATING = PVAdjustable("SAROP31-OOMH084:COATING_SP", internal=True),
|
OOMH084_COATING = PVAdjustable("SAROP31-OOMH084:COATING_SP", internal=True),
|
||||||
# OOMH067_X_trans = PVAdjustable("SAROP31-OOMH067:W_X.RBV", internal=True),
|
OOMH067_X_trans = PVAdjustable("SAROP31-OOMH067:W_X.RBV", internal=True),
|
||||||
# OOMH067_Y_trans = PVAdjustable("SAROP31-OOMH067:W_Y.RBV", internal=True),
|
OOMH067_Y_trans = PVAdjustable("SAROP31-OOMH067:W_Y.RBV", internal=True),
|
||||||
# OOMH067_X_rot = PVAdjustable("SAROP31-OOMH067:W_RX.RBV", internal=True),
|
OOMH067_X_rot = PVAdjustable("SAROP31-OOMH067:W_RX.RBV", internal=True),
|
||||||
# OOMH067_Y_rot = PVAdjustable("SAROP31-OOMH067:W_RY.RBV", internal=True),
|
OOMH067_Y_rot = PVAdjustable("SAROP31-OOMH067:W_RY.RBV", internal=True),
|
||||||
# OOMH067_Z_rot = PVAdjustable("SAROP31-OOMH067:W_RZ.RBV", internal=True),
|
OOMH067_Z_rot = PVAdjustable("SAROP31-OOMH067:W_RZ.RBV", internal=True),
|
||||||
# OOMH067_COATING = PVAdjustable("SAROP31-OOMH067:COATING_SP", internal=True),
|
OOMH067_COATING = PVAdjustable("SAROP31-OOMH067:COATING_SP", internal=True),
|
||||||
SMARACT_MINI_X=PVAdjustable("SARES30-MCS2750:MOT_2.RBV", internal=True),
|
# SMARACT_MINI_X=PVAdjustable("SARES30-MCS2750:MOT_2.RBV", internal=True),
|
||||||
SMARACT_MINI_Y=PVAdjustable("SARES30-MCS2750:MOT_3.RBV", internal=True),
|
# SMARACT_MINI_Y=PVAdjustable("SARES30-MCS2750:MOT_3.RBV", internal=True),
|
||||||
SMARACT_MINI_Z=PVAdjustable("SARES30-MCS2750:MOT_1.RBV", internal=True),
|
# SMARACT_MINI_Z=PVAdjustable("SARES30-MCS2750:MOT_1.RBV", internal=True),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
36
stand/client.py
Normal file
36
stand/client.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
class Client:
|
||||||
|
def __init__(self, host="127.0.0.1", port=9090):
|
||||||
|
self.host = host
|
||||||
|
self.port = port
|
||||||
|
self.session = requests.Session()
|
||||||
|
|
||||||
|
def add_row(self, **kwargs):
|
||||||
|
addr = self._make_addr()
|
||||||
|
resp = self.session.patch(addr, json=kwargs)
|
||||||
|
return ResponseWrapper(resp)
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
addr = self._make_addr()
|
||||||
|
resp = self.session.get(addr)
|
||||||
|
return ResponseWrapper(resp)
|
||||||
|
|
||||||
|
def clear(self):
|
||||||
|
addr = self._make_addr()
|
||||||
|
resp = self.session.delete(addr)
|
||||||
|
return ResponseWrapper(resp)
|
||||||
|
|
||||||
|
def _make_addr(self):
|
||||||
|
return f"http://{self.host}:{self.port}/"
|
||||||
|
|
||||||
|
|
||||||
|
class ResponseWrapper:
|
||||||
|
def __init__(self, resp):
|
||||||
|
resp.raise_for_status()
|
||||||
|
self.resp = resp
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return self.resp.text
|
Reference in New Issue
Block a user