From a85313f47896ed8bf27c3cdc0a99ba34afc04b0f Mon Sep 17 00:00:00 2001
From: David Fairbrother <DavidFair@users.noreply.github.com>
Date: Fri, 10 Mar 2017 16:41:37 +0000
Subject: [PATCH] Re #18643 Raise NotImplementedError if user tries to use
 s-empty

---
 scripts/Diffraction/isis_powder/gem.py                     | 7 ++++---
 .../isis_powder/gem_routines/gem_param_mapping.py          | 5 +++--
 .../isis_powder/polaris_routines/polaris_param_mapping.py  | 3 ++-
 scripts/Diffraction/isis_powder/routines/focus.py          | 6 ++++--
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py
index c20001a4e15..be6894c7dad 100644
--- a/scripts/Diffraction/isis_powder/gem.py
+++ b/scripts/Diffraction/isis_powder/gem.py
@@ -63,7 +63,10 @@ class Gem(AbstractInst):
         return common.crop_banks_in_tof(van_ws_to_crop, self._inst_settings.vanadium_cropping_values)
 
     def _get_sample_empty(self):
-        return self._inst_settings.sample_empty
+        sample_empty = self._inst_settings.sample_empty
+        if sample_empty:
+            raise NotImplementedError("Subtracting s-empty is not implemented yet.")
+        return sample_empty
 
     def _get_unit_to_keep(self):
         return self._inst_settings.unit_to_keep
@@ -83,5 +86,3 @@ def _gem_generate_inst_name(run_number):
     else:
         # Individual entry
         return "GEM" + str(run_number)
-
-
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 461fa068684..00a5acaaf91 100644
--- a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
@@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function)
 
 from isis_powder.routines.ParamMapEntry import ParamMapEntry
 from isis_powder.gem_routines.gem_enums import ChopperModes
-from isis_powder.routines.common_enums import WorkspaceUnits
+from isis_powder.routines.common_enums import InputBatchingEnum, WorkspaceUnits
 
 #                 Maps friendly user name (ext_name) -> script name (int_name)
 attr_mapping = \
@@ -13,6 +13,7 @@ attr_mapping = \
      ParamMapEntry(ext_name="do_absorb_corrections",     int_name="do_absorb_corrections"),
      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=InputBatchingEnum),
      ParamMapEntry(ext_name="mode",                      int_name="mode", enum_class=ChopperModes),
      ParamMapEntry(ext_name="multiple_scattering",       int_name="multiple_scattering"),
      ParamMapEntry(ext_name="raw_tof_cropping_values",   int_name="raw_tof_cropping_values"),
@@ -26,4 +27,4 @@ attr_mapping = \
      ParamMapEntry(ext_name="user_name",                 int_name="user_name"),
      ParamMapEntry(ext_name="vanadium_cropping_values",  int_name="vanadium_cropping_values"),
      ParamMapEntry(ext_name="vanadium_normalisation",    int_name="do_van_norm")
-    ]
+    ]
\ No newline at end of file
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 cf51d1d29b7..a446705ba01 100644
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py
@@ -1,6 +1,7 @@
 from __future__ import (absolute_import, division, print_function)
 
 from isis_powder.routines.ParamMapEntry import ParamMapEntry
+from isis_powder.routines.common_enums import InputBatchingEnum
 
 #                 Maps friendly user name (ext_name) -> script name (int_name)
 attr_mapping = \
@@ -13,7 +14,7 @@ attr_mapping = \
      ParamMapEntry(ext_name="do_van_normalisation",     int_name="do_van_normalisation"),
      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"),
+     ParamMapEntry(ext_name="input_mode",               int_name="input_mode", enum_class=InputBatchingEnum),
      ParamMapEntry(ext_name="masking_file_name",        int_name="masking_file_name"),
      ParamMapEntry(ext_name="multiple_scattering",      int_name="multiple_scattering"),
      ParamMapEntry(ext_name="raw_data_cropping_values", int_name="raw_data_crop_values"),
diff --git a/scripts/Diffraction/isis_powder/routines/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py
index 053808904ac..dd0d7000716 100644
--- a/scripts/Diffraction/isis_powder/routines/focus.py
+++ b/scripts/Diffraction/isis_powder/routines/focus.py
@@ -10,10 +10,12 @@ import warnings
 
 def focus(run_number_string, instrument, perform_vanadium_norm=True):
     input_batching = instrument._get_input_batching_mode()
-    if input_batching.lower() == InputBatchingEnum.Individual.lower():
+    if input_batching == InputBatchingEnum.Individual:
         return _individual_run_focusing(instrument, perform_vanadium_norm, run_number_string)
-    else:
+    elif input_batching == InputBatchingEnum.Summed:
         return _batched_run_focusing(instrument, perform_vanadium_norm, run_number_string)
+    else:
+        raise ValueError("Input batching not passed through. Please contact development team.")
 
 
 def _focus_one_ws(ws, run_number, instrument, perform_vanadium_norm):
-- 
GitLab