Remaining \r and ansi
It would be good to try to drop the remaining use of \r and ANSI code from the base code of BLISS.
Would be good to use umove
bliss/controllers/diffractometers/diff_base.py: print_("\r{0}".format(" ".join(pos_str)), end="", flush=True)
bliss/controllers/diffractometers/diff_base.py: print_("\r{0}".format(" ".join(pos_str)), end="\n", flush=True)
status_message()
instead
Use bliss/controllers/lima/eiger.py: end="\r",
bliss/controllers/lima/eiger.py: end="\r",
bliss/controllers/lima/pilatus.py: print("High Voltage reset {0:3.3s}".format("." * (widx % 4)), end="\r")
bliss/controllers/machinfo.py: print("Scan is paused, waiting injection", end="\r")
bliss/controllers/machinfo.py: print("Scan will restart in some seconds...", end="\r")
bliss/controllers/mca/xglab_dante.py: print(f"{self.__head} Enable channels", end="\r")
bliss/controllers/mca/xglab_dante.py: print(f"{self.__head} Configure input mode", end="\r")
bliss/controllers/mca/xglab_dante.py: print(f"{self.__head} Configure input offset", end="\r")
bliss/controllers/mca/xglab_dante.py: print(f"{self.__head} Configure dpp on board {chan_id}", end="\r")
bliss/controllers/motors/esrf_hexapode.py: end="\r",
bliss/controllers/motors/esrf_hexapode.py: end="\r",
bliss/controllers/motors/esrf_hexapode.py: end="\r",
bliss/controllers/motors/esrf_hexapode.py: end="\r",
bliss/controllers/motors/esrf_undulator.py: print(f"\r {itr}/{nb_moves} ", end="")
bliss/controllers/motors/esrf_undulator.py: print(f"\r {itr}/{nb_moves} ", end="")
bliss/controllers/opiom.py: print(" ", end="\r")
bliss/controllers/opiom.py: print("FRAME {0}".format(frame_n), end="\r")
bliss/controllers/opiom.py: print(" ", end="\r")
bliss/controllers/opiom.py: print("{0}".format(stat_num), end="\r")
bliss/controllers/speedgoat/speedgoat_scope.py: end="\r",
bliss/controllers/lima/eiger.py
-> we can refactor widx
to normalize it
\r\n
With bliss/controllers/tango_elettra.py: _info_str = "ePicea - model {0} - tango server {1}\r\n".format(
Will need a bit more work
bliss/common/user_status_info.py:_DISPLAY_CALLBACK = functools.partial(print, sep=",", end="\r")
Sounds legit
# main function
bliss/controllers/ct2/card.py: msg = "\r%07d %07d" % (counter, latch)
# scan progress
bliss/controllers/lima/limatools.py: print(txt + "\r", end="")
# in dedicated server
bliss/controllers/mca/handel/interface.py: # print("\rRunning ", end="")
bliss/controllers/mca/handel/interface.py: f"\rpixel {pxs} seen {pxtimes:3d} times (nb_spectrums={nb_spectrums}) (missing={missing})",
bliss/controllers/mca/handel/interface.py: f"\r in poll_data current_pixel={current} sent={sent}/{acquisition_number}",
# Another process than bliss repl
bliss/shell/data/display.py: print(f"{msg}\r", end="")
\x1b
With bliss/controllers/speedgoat/speedgoat_utils.py: line_clear = "\x1b[2K"
\033
With bliss/controllers/speedgoat/speedgoat_utils.py: line_up = "\033[1A"
bliss/shell/data/display.py: "\033[92m** Scan {scan_nb}: {title} **\033[0m\n\n"
bliss/shell/data/display.py: not_selected = [f"'\033[91m{c}\033[0m'" for c in not_selected]
bliss/shell/standard/_utils.py: print_html("\033[94mHi!\033[0m")
Edited by Valentin Valls