From 97e705e367024da3e53d657a498eb92341e7ec75 Mon Sep 17 00:00:00 2001
From: David Fairbrother <DavidFair@users.noreply.github.com>
Date: Mon, 14 Nov 2016 11:56:18 +0000
Subject: [PATCH] Re #17949 Move output name in van calib to optional param

---
 .../tests/analysis/ISIS_PowderPolarisTest.py           |  3 +++
 scripts/Diffraction/isis_powder/abstract_inst.py       |  2 +-
 scripts/Diffraction/isis_powder/calibrate.py           | 10 +++++++---
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py b/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py
index c7f6422aca3..e1b8229a3de 100644
--- a/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py
+++ b/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py
@@ -63,6 +63,9 @@ def _run_vanadium_calibration():
     gen_absorb = True
 
     polaris_obj = setup_polaris_instrument()
+    # Try it without an output name
+    polaris_obj.create_calibration_vanadium(vanadium_runs=vanadium_run, empty_runs=empty_run,
+                                            gen_absorb_correction=gen_absorb)
 
     return polaris_obj.create_calibration_vanadium(vanadium_runs=vanadium_run, empty_runs=empty_run,
                                                    output_file_name=output_file_name, gen_absorb_correction=gen_absorb)
diff --git a/scripts/Diffraction/isis_powder/abstract_inst.py b/scripts/Diffraction/isis_powder/abstract_inst.py
index 954b17fd9e0..8335e1fa3b0 100644
--- a/scripts/Diffraction/isis_powder/abstract_inst.py
+++ b/scripts/Diffraction/isis_powder/abstract_inst.py
@@ -82,7 +82,7 @@ class AbstractInst(object):
         self._create_calibration_silicon(calibration_runs=calibration_runs, cal_file_name=cal_file_name,
                                          grouping_file_name=grouping_file_name)
 
-    def create_calibration_vanadium(self, vanadium_runs, empty_runs, output_file_name, num_of_splines=None,
+    def create_calibration_vanadium(self, vanadium_runs, empty_runs, output_file_name=None, num_of_splines=None,
                                     do_absorb_corrections=True, gen_absorb_correction=False):
         calibrate.create_van(instrument=self, van=vanadium_runs, empty=empty_runs,
                              output_van_file_name=output_file_name, num_of_splines=num_of_splines,
diff --git a/scripts/Diffraction/isis_powder/calibrate.py b/scripts/Diffraction/isis_powder/calibrate.py
index 01f5482f145..690e1812ef3 100644
--- a/scripts/Diffraction/isis_powder/calibrate.py
+++ b/scripts/Diffraction/isis_powder/calibrate.py
@@ -17,8 +17,6 @@ def create_van(instrument, van, empty, output_van_file_name, num_of_splines, abs
 
     calibration_full_paths = instrument._get_calibration_full_paths(run_number=van)
 
-    # Absorb was here
-
     corrected_van_ws = instrument. _apply_van_calibration_tof_rebinning(vanadium_ws=corrected_van_ws,
                                                                         tof_rebin_pass=1, return_units="TOF")
 
@@ -47,8 +45,14 @@ def create_van(instrument, van, empty, output_van_file_name, num_of_splines, abs
 
     if instrument._PEARL_filename_is_full_path():
         out_van_file_path = output_van_file_name
-    else:
+    elif output_van_file_name:
+        # The user has manually specified the output file name
         out_van_file_path = os.path.join(instrument.calibration_dir, output_van_file_name)
+    else:
+        try:
+            out_van_file_path = calibration_full_paths["calibrated_vanadium"]
+        except KeyError:
+            raise ValueError("The output name must be manually specified for this instrument/run")
 
     append = False
     for ws in splined_ws_list:
-- 
GitLab