From a882fff8d3d8ff37d5a8c6a77bd6b01b39c97c75 Mon Sep 17 00:00:00 2001
From: Dimitar Tasev <dimtasev@gmail.com>
Date: Mon, 7 Jan 2019 11:31:21 +0000
Subject: [PATCH] Change FromString function depending on PyVersion, re #24007

---
 .../mantid/api/src/Exports/ITableWorkspace.cpp           | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Framework/PythonInterface/mantid/api/src/Exports/ITableWorkspace.cpp b/Framework/PythonInterface/mantid/api/src/Exports/ITableWorkspace.cpp
index 46aee37525a..06450004f7f 100644
--- a/Framework/PythonInterface/mantid/api/src/Exports/ITableWorkspace.cpp
+++ b/Framework/PythonInterface/mantid/api/src/Exports/ITableWorkspace.cpp
@@ -26,9 +26,16 @@
 #include <boost/python/dict.hpp>
 #include <boost/python/list.hpp>
 #include <boost/python/make_constructor.hpp>
+
 #include <cstring>
 #include <vector>
 
+#if PY_MAJOR_VERSION >= 3
+#define FROM_CSTRING PyUnicode_FromString
+#else
+#define FROM_CSTRING PyString_FromString
+#endif
+
 // See
 // http://docs.scipy.org/doc/numpy/reference/c-api.array.html#PY_ARRAY_UNIQUE_SYMBOL
 #define PY_ARRAY_UNIQUE_SYMBOL API_ARRAY_API
@@ -309,7 +316,7 @@ PyObject *columnTypes(ITableWorkspace &self) {
   for (int col = 0; col < numCols; col++) {
     Mantid::API::Column_const_sptr column = self.getColumn(col);
     const std::type_info &typeID = column->get_type_info();
-    if (PyList_SetItem(list, col, PyString_FromString(typeID.name()))) {
+    if (PyList_SetItem(list, col, FROM_CSTRING(typeID.name()))) {
       throw std::runtime_error("Error while building list");
     }
   }
-- 
GitLab