summaryrefslogtreecommitdiff
path: root/src/plugins/python/pythonutils.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2022-03-16 09:28:01 +0100
committerDavid Schulz <david.schulz@qt.io>2022-03-28 09:29:08 +0000
commitff686f567900ac45860556253c397425edc05cfc (patch)
tree2ae532379aea399c8e1d5efcbc568ab81c5c3748 /src/plugins/python/pythonutils.cpp
parentb8c8e0ccae8a3276a755ea41221bbb42bed9df31 (diff)
downloadqt-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.cpp19
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