diff --git a/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_model.py b/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_model.py index e11dd4600bcaac8b8108ff66cc26ef30299d3c67..395c2f8f58f81bc3911c91752e520f73b73b3531 100644 --- a/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_model.py +++ b/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_model.py @@ -39,8 +39,7 @@ class CoLoadModel(lutils.LModel): def add_runs(self, l, r, suffix): # prevent new suffix being appended to old one - l = l[:l.rfind("_")] if l.endswith(")") else l - out = "{}_({})".format(l, suffix) + out = lutils.replace_workspace_name_suffix(l, suffix) mantid.Plus(l, r, OutputWorkspace=out) return out diff --git a/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_utils.py b/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_utils.py index 6e1bf7a1d2de8e9be81ff517aba47c0c484b8af8..f7f2bd4fa411e8dba369c73517360bbfddc245bf 100644 --- a/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_utils.py +++ b/scripts/Muon/GUI/ElementalAnalysis/LoadWidget/load_utils.py @@ -121,6 +121,11 @@ def get_filename(path, run): return None +def replace_workspace_name_suffix(name, suffix): + detector, run_type, end = name.split("_", 3)[:3] + return "_".join([detector, run_type, end, suffix]) + + def flatten_run_data(*workspaces): out = [] for ws in workspaces: diff --git a/scripts/test/Muon/LoadWidgetModel_test.py b/scripts/test/Muon/LoadWidgetModel_test.py index a38d526654313a5293b142cbc25fcb90b718cb0a..f5add6995caf56208cc317d8fee6775c7087b739 100644 --- a/scripts/test/Muon/LoadWidgetModel_test.py +++ b/scripts/test/Muon/LoadWidgetModel_test.py @@ -13,7 +13,7 @@ class LoadUtilsTest(unittest.TestCase): self.bad_path = r"test\path\to\ral012345.rooth2042" self.test_run = 5 self.test_ws_name = "1_Delayed_rooth2020_{}".format(self.test_run) - self.var_ws_name = "{}_Total_rooth2020_{}" + self.var_ws_name = "{}_Delayed_rooth2020_{}" self.test_ws_names = [ self.var_ws_name.format( x, self.test_run) for x in range( @@ -69,6 +69,13 @@ class LoadUtilsTest(unittest.TestCase): workspaces.append(name) assert lutils.flatten_run_data(workspaces) == [self.test_ws_names] + def test_replace_workspace_name_suffix(self): + tests = {self.test_ws_name: "suffix", "_".join( + [self.test_ws_name, "test"]): "suffix"} + for w, suffix in iteritems(tests): + assert lutils.replace_workspace_name_suffix( + w, suffix) == self.var_ws_name.format(1, suffix) + if __name__ == "__main__": unittest.main()