From fdaf74f51e5e6efc9a3d0be003c46c19e2daa3a0 Mon Sep 17 00:00:00 2001 From: David Fairbrother <DavidFair@users.noreply.github.com> Date: Mon, 8 May 2017 14:22:12 +0100 Subject: [PATCH] Re #19500 Store file extension if specified to use at load time --- .../gem_routines/gem_param_mapping.py | 1 + .../pearl_routines/pearl_param_mapping.py | 1 + .../polaris_routines/polaris_param_mapping.py | 1 + .../isis_powder/routines/run_details.py | 16 ++++++++++------ scripts/test/ISISPowderRunDetailsTest.py | 6 ++++-- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py index 0b6cdb07213..0b6cbddd04b 100644 --- a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py +++ b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py @@ -11,6 +11,7 @@ attr_mapping = \ ParamMapEntry(ext_name="calibration_mapping_file", int_name="cal_mapping_path"), ParamMapEntry(ext_name="config_file", int_name="config_file"), ParamMapEntry(ext_name="do_absorb_corrections", int_name="do_absorb_corrections"), + ParamMapEntry(ext_name="file_ext", int_name="file_extension"), ParamMapEntry(ext_name="focused_cropping_values", int_name="focused_cropping_values"), ParamMapEntry(ext_name="grouping_file_name", int_name="grouping_file_name"), ParamMapEntry(ext_name="input_mode", int_name="input_batching", enum_class=INPUT_BATCHING), diff --git a/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py index 1e07be4b10f..e116958d956 100644 --- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py +++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py @@ -11,6 +11,7 @@ attr_mapping = \ ParamMapEntry(ext_name="calibration_config_path", int_name="cal_mapping_path"), ParamMapEntry(ext_name="calibration_directory", int_name="calibration_dir"), ParamMapEntry(ext_name="do_absorb_corrections", int_name="absorb_corrections"), + ParamMapEntry(ext_name="file_ext", int_name="file_extension"), ParamMapEntry(ext_name="focus_mode", int_name="focus_mode", enum_class=PEARL_FOCUS_MODES), ParamMapEntry(ext_name="long_mode", int_name="long_mode"), ParamMapEntry(ext_name="monitor_lambda_crop_range", int_name="monitor_lambda"), diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py index 50d351e942f..d5ad57c5149 100644 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py +++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py @@ -12,6 +12,7 @@ attr_mapping = \ ParamMapEntry(ext_name="config_file", int_name="config_file"), ParamMapEntry(ext_name="do_absorb_corrections", int_name="do_absorb_corrections"), ParamMapEntry(ext_name="do_van_normalisation", int_name="do_van_normalisation"), + ParamMapEntry(ext_name="file_ext", int_name="file_extension"), ParamMapEntry(ext_name="focused_cropping_values", int_name="focused_cropping_values"), ParamMapEntry(ext_name="grouping_file_name", int_name="grouping_file_name"), ParamMapEntry(ext_name="input_mode", int_name="input_mode", enum_class=INPUT_BATCHING), diff --git a/scripts/Diffraction/isis_powder/routines/run_details.py b/scripts/Diffraction/isis_powder/routines/run_details.py index 423ce13a6bf..20a9dbe1573 100644 --- a/scripts/Diffraction/isis_powder/routines/run_details.py +++ b/scripts/Diffraction/isis_powder/routines/run_details.py @@ -37,8 +37,11 @@ def create_run_details_object(run_number_string, inst_settings, is_vanadium_run, run_number = vanadium_run_string output_run_string = vanadium_run_string else: + # Otherwise set it to the user input output_run_string = run_number_string + # Get the file extension if set + file_extension = getattr(inst_settings, "file_extension", None) # Sample empty if there is one sample_empty = getattr(inst_settings, "sample_empty", None) @@ -49,11 +52,11 @@ def create_run_details_object(run_number_string, inst_settings, is_vanadium_run, splined_van_path = os.path.join(calibration_dir, label, results_dict["splined_van_name"]) van_absorb_path = os.path.join(calibration_dir, van_abs_file_name) if van_abs_file_name else None - return _RunDetails(empty_run_number=results_dict["empty_runs"], run_number=run_number, - output_run_string=output_run_string, label=label, offset_file_path=offset_file_path, - grouping_file_path=grouping_file_path, splined_vanadium_path=splined_van_path, - vanadium_run_number=vanadium_run_string, sample_empty=sample_empty, - vanadium_abs_path=van_absorb_path) + return _RunDetails(empty_run_number=results_dict["empty_runs"], file_extension=file_extension, + run_number=run_number, output_run_string=output_run_string, label=label, + offset_file_path=offset_file_path, grouping_file_path=grouping_file_path, + splined_vanadium_path=splined_van_path, vanadium_run_number=vanadium_run_string, + sample_empty=sample_empty, vanadium_abs_path=van_absorb_path) def _get_customisable_attributes(cal_dict, inst_settings, empty_run_call, grouping_name_call, vanadium_run_call, @@ -158,7 +161,7 @@ class _RunDetails(object): This class holds the full file paths associated with each run and various other useful attributes """ - def __init__(self, empty_run_number, run_number, output_run_string, label, + def __init__(self, empty_run_number, file_extension, run_number, output_run_string, label, offset_file_path, grouping_file_path, splined_vanadium_path, vanadium_run_number, sample_empty, vanadium_abs_path): @@ -176,5 +179,6 @@ class _RunDetails(object): self.vanadium_run_numbers = vanadium_run_number # Optional + self.file_extension = file_extension self.sample_empty = sample_empty self.vanadium_absorption_path = vanadium_abs_path diff --git a/scripts/test/ISISPowderRunDetailsTest.py b/scripts/test/ISISPowderRunDetailsTest.py index 9f2319f54e1..2770b0889eb 100644 --- a/scripts/test/ISISPowderRunDetailsTest.py +++ b/scripts/test/ISISPowderRunDetailsTest.py @@ -14,13 +14,15 @@ from isis_powder.routines import run_details class ISISPowderInstrumentRunDetailsTest(unittest.TestCase): def setup_mock_inst_settings(self, yaml_file_path): calibration_dir = tempfile.mkdtemp() + # Keep track of list of folders to remove self._folders_to_remove = [calibration_dir] + # Check the required unit test files could be found test_configuration_path = mantid.api.FileFinder.getFullPath(yaml_file_path) if not test_configuration_path or len(test_configuration_path) <= 0: self.fail("Could not find the unit test input file called: " + str(yaml_file_path)) - mock_inst = MockInstSettings(cal_file_path=test_configuration_path, calibration_dir=calibration_dir) - return mock_inst + + return MockInstSettings(cal_file_path=test_configuration_path, calibration_dir=calibration_dir) def tearDown(self): for folder in self._folders_to_remove: -- GitLab