pcdshub / lightpath

LCLS Lightpath Module
https://pcdshub.github.io/lightpath
Other
4 stars 9 forks source link

Overview BeamPath methods should be robust against exceptions #61

Closed teddyrendahl closed 6 years ago

teddyrendahl commented 6 years ago

Expected Behavior

When calling functions that give you an overview of the entire BeamPath object such as show_devices, we should be prepared for devices to raise Exceptions. One disconnected device should not prevent an operator from seeing the overview. These devices should instead report an Error state.

Current Behavior

In [2]: mfx_beampath.show_devices()
/reg/g/pcds/pyps/conda/py36/envs/pcds-0.6.0/lib/python3.6/site-packages/epics/ca.py:1330: UserWarning: ca.get('STPR:XRT1:1:SH2_PPSSUM') timed out after 1.00 seconds.
...
ValueError: None is not a valid state for sh2. Valid state names are: ['Unknown', 'IN', 'OUT'], and their corresponding values are [0, 1, 2].

This was noticed today while the FEE gateway was overloaded.

Full ELog post -> https://pswww.slac.stanford.edu/apps/portal/index.php?exper_id=794&app=elog:search&params=message:381604

Possible Solution

try / except