commit 625c61f1d545044f8c287434968b79f17004a078
Author: Pavel Sanda <sa...@lyx.org>
Date:   Mon Sep 4 21:50:51 2023 +0200

    Output python version in About dialog.
    
    Patch from Jose.
---
 src/frontends/qt/GuiAbout.cpp |    4 ++--
 src/support/os.cpp            |   12 ++++++++++--
 src/support/os.h              |    3 +++
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/frontends/qt/GuiAbout.cpp b/src/frontends/qt/GuiAbout.cpp
index 325801c..0a585f0 100644
--- a/src/frontends/qt/GuiAbout.cpp
+++ b/src/frontends/qt/GuiAbout.cpp
@@ -222,7 +222,7 @@ static QString buildinfo()
                    << endl;
 #endif
 
-       out << lyx_version_info 
+       out << lyx_version_info
 #if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
            << Qt::endl;
 #else
@@ -297,7 +297,7 @@ static QString version(bool const plain = false)
        else
                out << "</p><p>";
 #endif
-       out << toqstr(bformat(_("Python detected: %1$s"), 
from_utf8(os::python())));
+       out << toqstr(bformat(_("Python detected: %1$s"), 
from_utf8(os::python_info())));
        if (!plain)
                out << toqstr("</p></body></html>");
        return res;
diff --git a/src/support/os.cpp b/src/support/os.cpp
index abb9ec6..27427cd 100644
--- a/src/support/os.cpp
+++ b/src/support/os.cpp
@@ -58,7 +58,7 @@ int timeout_ms()
 
 static string const python23_call(string const & binary, bool verbose = false)
 {
-       const string version_info = " -c \"from __future__ import 
print_function;import sys; print(sys.version_info[:2], end=\\\"\\\")\"";
+       const string version_info = " -c \"from __future__ import 
print_function; import sys; print(sys.version_info[:2], end='')\"";
        // Default to "python" if no binary is given.
        if (binary.empty())
                return "python -tt";
@@ -142,7 +142,7 @@ static string const find_python_binary()
                return command;
 
 #ifdef _WIN32
-       // python launcher is not installed, let cmd auto check 
+       // python launcher is not installed, let cmd auto check
        // PATH for a python.exe
        command = python23_call("python");
        if (!command.empty())
@@ -197,6 +197,14 @@ bool hasPython()
        return !(python23_call(python()).empty());
 }
 
+string const python_info()
+{
+       const string info_version = " -c \"from __future__ import 
print_function; import sys; print('{} 
({})'.format(sys.version.split()[0],sys.executable), end='')\"";
+       if (!hasPython())
+               return("None");
+       return (runCommand(python() + info_version).result);
+}
+
 } // namespace os
 } // namespace support
 } // namespace lyx
diff --git a/src/support/os.h b/src/support/os.h
index 7e6bdbd..35154a8 100644
--- a/src/support/os.h
+++ b/src/support/os.h
@@ -65,6 +65,9 @@ std::string const python(bool reset = false);
 /// Check for availability of the python interpreter
 bool hasPython();
 
+/// Return information about the ython interper
+std::string const python_info();
+
 ///
 bool isFilesystemCaseSensitive();
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to