From 228841870d4576afbce90d2fbd8a22c3ece55c12 Mon Sep 17 00:00:00 2001 From: leonarski_f Date: Sat, 11 Jul 2026 09:51:03 +0200 Subject: [PATCH] rugnux: honour an absolute -o output prefix configure_offline_output still routed the -o prefix through FilePrefix (the CheckPath guard), so 'rugnux -o /abs/path' threw 'Path cannot start with slash' before processing even though the writer path already supported it. Use the trusted setter here too. Completes the offline absolute-path support (the writer and Rugnux::Run already skip the guard); the .mtz/.cif and _process.h5 now land at an absolute -o. The --scale path shares this function and writes via WriteReflections (no FileWriter), so it is covered as well. Co-Authored-By: Claude Opus 4.8 --- tools/rugnux_cli.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/rugnux_cli.cpp b/tools/rugnux_cli.cpp index cb422877..01ea9918 100644 --- a/tools/rugnux_cli.cpp +++ b/tools/rugnux_cli.cpp @@ -378,7 +378,9 @@ std::optional parse_lattice_arg(const char *arg) { // path and the full-analysis path (each then sets its own space group and images-per-trigger). void configure_offline_output(DiffractionExperiment &experiment, const std::string &output_prefix) { experiment.BitDepthImage(32).Compression(CompressionAlgorithm::BSHUF_LZ4); - experiment.FilePrefix(output_prefix); + // Offline CLI: the operator chose the output path, so allow an absolute -o (the multi-user guard + // that FilePrefix() applies is only for remotely-supplied prefixes in the broker/writer). + experiment.FilePrefixTrusted(output_prefix); experiment.Mode(DetectorMode::Standard); // full image analysis experiment.PixelSigned(true); experiment.OverwriteExistingFiles(true);