From a8862713f70a6de32e6facab5e2cd4342b93c516 Mon Sep 17 00:00:00 2001
From: David Fairbrother <DavidFair@users.noreply.github.com>
Date: Wed, 31 May 2017 12:23:27 +0100
Subject: [PATCH] Re #19574 Resolved caching breaking spline names on PEARL

---
 scripts/Diffraction/isis_powder/pearl.py            |  3 ++-
 .../isis_powder/pearl_routines/pearl_algs.py        |  6 +++---
 .../Diffraction/isis_powder/routines/run_details.py | 13 +++++++++++++
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/scripts/Diffraction/isis_powder/pearl.py b/scripts/Diffraction/isis_powder/pearl.py
index a40d4fbf1a7..82fd89167e0 100644
--- a/scripts/Diffraction/isis_powder/pearl.py
+++ b/scripts/Diffraction/isis_powder/pearl.py
@@ -48,7 +48,8 @@ class Pearl(AbstractInst):
 
     def _get_run_details(self, run_number_string):
         run_number_string_key = self._generate_run_details_fingerprint(run_number_string,
-                                                                       self._inst_settings.file_extension)
+                                                                       self._inst_settings.file_extension,
+                                                                       self._inst_settings.tt_mode)
         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_routines/pearl_algs.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
index f11d52d65c3..9c79a19a620 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
@@ -68,16 +68,16 @@ def generate_vanadium_absorb_corrections(van_ws):
 
 
 def get_run_details(run_number_string, inst_settings, is_vanadium_run):
-    splined_name_list = ["_tt-" + inst_settings.tt_mode]
+    spline_identifier = [inst_settings.tt_mode]
     if inst_settings.long_mode:
-        splined_name_list.append("_long")
+        spline_identifier.append("_long")
 
     grouping_file_name_callable = CustomFuncForRunDetails().add_to_func_chain(
         user_function=_pearl_get_tt_grouping_file_name,
         inst_settings=inst_settings)
 
     return create_run_details_object(run_number_string=run_number_string, inst_settings=inst_settings,
-                                     is_vanadium_run=is_vanadium_run, splined_name_list=splined_name_list,
+                                     is_vanadium_run=is_vanadium_run, splined_name_list=spline_identifier,
                                      grouping_file_name_call=grouping_file_name_callable,
                                      van_abs_file_name=inst_settings.van_absorb_file)
 
diff --git a/scripts/Diffraction/isis_powder/routines/run_details.py b/scripts/Diffraction/isis_powder/routines/run_details.py
index a694713bc9d..8dd9e79ed8c 100644
--- a/scripts/Diffraction/isis_powder/routines/run_details.py
+++ b/scripts/Diffraction/isis_powder/routines/run_details.py
@@ -7,6 +7,19 @@ import os
 def create_run_details_object(run_number_string, inst_settings, is_vanadium_run, empty_run_call=None,
                               grouping_file_name_call=None, vanadium_run_call=None,
                               splined_name_list=None, van_abs_file_name=None):
+    """
+    Creates and returns a run details object which holds various
+    properties about the current run.
+    :param run_number_string: The user string for the current run
+    :param inst_settings: The current instrument object
+    :param is_vanadium_run: Boolean of if the current run is a vanadium run
+    :param empty_run_call: (Optional) Callable to setup custom empty run number(s) from mapping file
+    :param grouping_file_name_call: (Optional) Callable to setup custom grouping file name
+    :param vanadium_run_call: (Optional) Callable to setup custom van run number(s) from mapping file
+    :param splined_name_list: (Optional) List of unique properties to generate a splined vanadium name from
+    :param van_abs_file_name: (Optional) The name of the vanadium absorption file
+    :return: RunDetails object with attributes set to applicable values
+    """
     cal_map_dict = RunDetailsWrappedCommonFuncs.get_cal_mapping_dict(
         run_number_string=run_number_string, inst_settings=inst_settings)
     run_number = common.get_first_run_number(run_number_string=run_number_string)
-- 
GitLab