diff --git a/scripts/Diffraction/isis_powder/abstract_inst.py b/scripts/Diffraction/isis_powder/abstract_inst.py index b79f1764e795c5e3eb0403684a34825f7b6c2801..e4631eb8dfaa22577bb3e5fb912f4f3c380345ca 100644 --- a/scripts/Diffraction/isis_powder/abstract_inst.py +++ b/scripts/Diffraction/isis_powder/abstract_inst.py @@ -226,6 +226,13 @@ class AbstractInst(object): # Steps applicable to all instruments + @staticmethod + def _generate_run_details_fingerprint(*args): + out_key = "" + for arg in args: + out_key += str(arg) + return out_key + def _generate_out_file_paths(self, run_details): """ Generates the various output paths and file names to be used during saving or as workspace names diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py index 553b1b0e9f4f41ed5754d2e02e0e0f335da49c21..56ded044d800e6c49d102785eb6ec8697dfae47d 100644 --- a/scripts/Diffraction/isis_powder/gem.py +++ b/scripts/Diffraction/isis_powder/gem.py @@ -29,7 +29,8 @@ class Gem(AbstractInst): do_absorb_corrections=self._inst_settings.do_absorb_corrections) def _get_run_details(self, run_number_string): - run_number_string_key = run_number_string + str(self._inst_settings.file_extension) + run_number_string_key = self._generate_run_details_fingerprint(run_number_string, + self._inst_settings.file_extension) if run_number_string_key in self._cached_run_details: return self._cached_run_details[run_number_string_key] diff --git a/scripts/Diffraction/isis_powder/pearl.py b/scripts/Diffraction/isis_powder/pearl.py index 947b7144b3416a6b859bf907d06860b6ee4c47fd..c70774104fc43904c4b2561ef5d000f58b65d13a 100644 --- a/scripts/Diffraction/isis_powder/pearl.py +++ b/scripts/Diffraction/isis_powder/pearl.py @@ -44,7 +44,8 @@ class Pearl(AbstractInst): do_absorb_corrections=self._inst_settings.absorb_corrections) def _get_run_details(self, run_number_string): - run_number_string_key = run_number_string + str(self._inst_settings.file_extension) + run_number_string_key = self._generate_run_details_fingerprint(run_number_string, + self._inst_settings.file_extension) if run_number_string_key in self._cached_run_details: return self._cached_run_details[run_number_string_key] diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py index b365c8ac351448c22ee39980bdfcaa2085c905d7..7c3d58281bac9959bb1fb5e5cbea6aab2cba3cb1 100644 --- a/scripts/Diffraction/isis_powder/polaris.py +++ b/scripts/Diffraction/isis_powder/polaris.py @@ -89,7 +89,8 @@ class Polaris(AbstractInst): return self._inst_settings.focused_bin_widths def _get_run_details(self, run_number_string): - run_number_string_key = run_number_string + str(self._inst_settings.file_extension) + run_number_string_key = self._generate_run_details_fingerprint(run_number_string, + self._inst_settings.file_extension) if run_number_string_key in self._run_details_cached_obj: return self._run_details_cached_obj[run_number_string_key] diff --git a/scripts/Diffraction/isis_powder/routines/common_output.py b/scripts/Diffraction/isis_powder/routines/common_output.py index 02a4fbe5f54f3e9b28c415114ffb1a920c7729cf..9a47c6360804a66289edb49f2d802d84a48267c0 100644 --- a/scripts/Diffraction/isis_powder/routines/common_output.py +++ b/scripts/Diffraction/isis_powder/routines/common_output.py @@ -18,9 +18,9 @@ def split_into_tof_d_spacing_groups(run_details, processed_spectra): tof_output = [] run_number = str(run_details.output_run_string) ext = run_details.file_extension if run_details.file_extension else "" - for name_index, ws in enumerate(processed_spectra): - d_spacing_out_name = run_number + ext + "-ResultD-" + str(name_index + 1) - tof_out_name = run_number + ext + "-ResultTOF-" + str(name_index + 1) + for name_index, ws in enumerate(processed_spectra, start=1): + d_spacing_out_name = run_number + ext + "-ResultD-" + str(name_index) + tof_out_name = run_number + ext + "-ResultTOF-" + str(name_index) d_spacing_output.append(mantid.ConvertUnits(InputWorkspace=ws, OutputWorkspace=d_spacing_out_name, Target="dSpacing")) diff --git a/scripts/test/ISISPowderCommonTest.py b/scripts/test/ISISPowderCommonTest.py index 68ece3c1035ddcaabb8eea6f9035d2add656fe99..c1ad2cea4e3dc4561d6cd253ef8405c8e4f62171 100644 --- a/scripts/test/ISISPowderCommonTest.py +++ b/scripts/test/ISISPowderCommonTest.py @@ -474,7 +474,7 @@ class ISISPowderCommonTest(unittest.TestCase): returned_ws = common.subtract_summed_runs(ws_to_correct=no_scale_ws, instrument=ISISPowderMockInst(), empty_sample_ws_string=sample_empty_number) y_values = returned_ws.readY(0) - for i in range(0, returned_ws.blocksize()): + for i in range(returned_ws.blocksize()): self.assertAlmostEqual(y_values[i], 0) # Check what happens when we specify scale as a half