diff options
author | David Schulz <david.schulz@qt.io> | 2022-03-16 09:28:01 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2022-03-28 09:29:08 +0000 |
commit | ff686f567900ac45860556253c397425edc05cfc (patch) | |
tree | 2ae532379aea399c8e1d5efcbc568ab81c5c3748 /src/plugins/python/pythonutils.cpp | |
parent | b8c8e0ccae8a3276a755ea41221bbb42bed9df31 (diff) | |
download | qt-creator-ff686f567900ac45860556253c397425edc05cfc.tar.gz |
Python: move python name cache to utils
Change-Id: I7f6d13a465be6de90aea64e7f19c92bca3ee6c19
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/python/pythonutils.cpp')
-rw-r--r-- | src/plugins/python/pythonutils.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/python/pythonutils.cpp b/src/plugins/python/pythonutils.cpp index aff91c7098..5b37cdbf6b 100644 --- a/src/plugins/python/pythonutils.cpp +++ b/src/plugins/python/pythonutils.cpp @@ -127,5 +127,24 @@ void openPythonRepl(QObject *parent, const FilePath &file, ReplType type) process->start(); } +QString pythonName(const FilePath &pythonPath) +{ + static QHash<FilePath, QString> nameForPython; + if (!pythonPath.exists()) + return {}; + QString name = nameForPython.value(pythonPath); + if (name.isEmpty()) { + QtcProcess pythonProcess; + pythonProcess.setTimeoutS(2); + pythonProcess.setCommand({pythonPath, {"--version"}}); + pythonProcess.runBlocking(); + if (pythonProcess.result() != ProcessResult::FinishedWithSuccess) + return {}; + name = pythonProcess.allOutput().trimmed(); + nameForPython[pythonPath] = name; + } + return name; +} + } // namespace Internal } // namespace Python |