shell data display: ct() can fail with formatting error if counter returns a numpy array
In case of a counter returning a numpy array we can get the following:
2023-01-20 13:54:33,343 detector_test user_input INFO : ct()
2023-01-20 13:54:36,125 detector_test exceptions ERROR : Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/blissadm/local/bliss_new/bliss/common/utils.py", line 959, in wrapped_function
return custom_error_msg(
File "/home/blissadm/local/bliss_new/bliss/common/utils.py", line 910, in wrapped_function
return function(*args, **kwargs)
File "/home/blissadm/local/bliss_new/bliss/common/utils.py", line 875, in wrapped_function
return function(*args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/bliss_new/lib/python3.9/site-packages/typeguard/__init__.py", line 1033, in wrapp
retval = func(*args, **kwargs)
File "/home/blissadm/local/bliss_new/bliss/common/scans/ct.py", line 98, in ct
s.run()
File "/home/blissadm/local/bliss_new/bliss/scanning/scan.py", line 1616, in run
self._execute_scan_runner(runner)
File "/users/blissadm/conda/miniconda/envs/bliss_new/lib/python3.9/contextlib.py", line 532, in __exit__
raise exc_details[1]
File "/users/blissadm/conda/miniconda/envs/bliss_new/lib/python3.9/contextlib.py", line 517, in __exit__
if cb(*exc_details):
File "/users/blissadm/conda/miniconda/envs/bliss_new/lib/python3.9/contextlib.py", line 126, in __exit__
next(self.gen)
File "/home/blissadm/local/bliss_new/bliss/common/cleanup.py", line 290, in capture_exceptions
raise value
File "/home/blissadm/local/bliss_new/bliss/common/cleanup.py", line 266, in capture
yield
File "/home/blissadm/local/bliss_new/bliss/scanning/scan.py", line 1661, in wrapper
yield
File "/home/blissadm/local/bliss_new/bliss/scanning/scan.py", line 1715, in _runctx_data_watch_callback
self._data_watch_callback.on_scan_end(self.scan_info)
File "/home/blissadm/local/bliss_new/bliss/scanning/scan.py", line 232, in on_scan_end
cb(scan_info)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 722, in on_scan_end
self._scan_displayer.on_scan_end(scan_info)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 609, in on_scan_end
super().on_scan_end(scan_info)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 555, in on_scan_end
self.scan_renderer.print_data_ct(scan_info)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 379, in print_data_ct
block = self._build_ct_output(values, norm_values)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 454, in _build_ct_output
v = self._format_number(v, 8, 9)
File "/home/blissadm/local/bliss_new/bliss/shell/data/display.py", line 403, in _format_number
v = f"{value:#g}"
TypeError: unsupported format string passed to numpy.ndarray.__format__
(observed on ID01)