mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-21 08:09:35 +08:00
Use python3 and python2 instead of python on Linux
Prefer python3 over python2 when both are available. Both python2 and python3 should always exists. More info at: http://legacy.python.org/dev/peps/pep-0394/
This commit is contained in:
parent
0172ab1f50
commit
e34cc79dad
@ -232,6 +232,26 @@ int Utils::Misc::pythonVersion()
|
||||
static int version = -1;
|
||||
if (version < 0) {
|
||||
QProcess python_proc;
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
|
||||
/*
|
||||
* On Unix-Like Systems python2 and python3 should always exist
|
||||
* http://legacy.python.org/dev/peps/pep-0394/
|
||||
*/
|
||||
python_proc.start("python3", QStringList() << "--version", QIODevice::ReadOnly);
|
||||
if (python_proc.waitForFinished()) {
|
||||
if (python_proc.exitCode() == 0) {
|
||||
version = 3;
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
python_proc.start("python2", QStringList() << "--version", QIODevice::ReadOnly);
|
||||
if (python_proc.waitForFinished()) {
|
||||
if (python_proc.exitCode() == 0) {
|
||||
version = 2;
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
#else
|
||||
python_proc.start("python", QStringList() << "--version", QIODevice::ReadOnly);
|
||||
if (!python_proc.waitForFinished()) return -1;
|
||||
if (python_proc.exitCode() < 0) return -1;
|
||||
@ -244,10 +264,26 @@ int Utils::Misc::pythonVersion()
|
||||
version = 3;
|
||||
else
|
||||
version = 2;
|
||||
#endif
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
QString misc::pythonExecutable()
|
||||
{
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
|
||||
/*
|
||||
* On Unix-Like Systems python2 and python3 should always exist
|
||||
* http://legacy.python.org/dev/peps/pep-0394/
|
||||
*/
|
||||
if (pythonVersion() == 3)
|
||||
return "python3";
|
||||
if (pythonVersion() == 2)
|
||||
return "python2";
|
||||
#endif
|
||||
return "python";
|
||||
}
|
||||
|
||||
// return best userfriendly storage unit (B, KiB, MiB, GiB, TiB)
|
||||
// use Binary prefix standards from IEC 60027-2
|
||||
// see http://en.wikipedia.org/wiki/Kilobyte
|
||||
|
@ -56,6 +56,7 @@ namespace Utils
|
||||
QPoint screenCenter(QWidget *win);
|
||||
#endif
|
||||
int pythonVersion();
|
||||
QString pythonExecutable();
|
||||
// return best userfriendly storage unit (B, KiB, MiB, GiB, TiB)
|
||||
// use Binary prefix standards from IEC 60027-2
|
||||
// see http://en.wikipedia.org/wiki/Kilobyte
|
||||
|
@ -232,7 +232,7 @@ void SearchEngine::on_search_button_clicked() {
|
||||
// Changing the text of the current label
|
||||
currentSearchTab->getCurrentLabel()->setText(tr("Results")+" <i>(0)</i>:");
|
||||
// Launch search
|
||||
searchProcess->start("python", params, QIODevice::ReadOnly);
|
||||
searchProcess->start(Utils::Misc::pythonExecutable(), params, QIODevice::ReadOnly);
|
||||
searchTimeout->start(180000); // 3min
|
||||
}
|
||||
|
||||
@ -272,7 +272,7 @@ void SearchEngine::downloadTorrent(QString engine_url, QString torrent_url) {
|
||||
params << engine_url;
|
||||
params << torrent_url;
|
||||
// Launch search
|
||||
downloadProcess->start("python", params, QIODevice::ReadOnly);
|
||||
downloadProcess->start(Utils::Misc::pythonExecutable(), params, QIODevice::ReadOnly);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include <QDebug>
|
||||
|
||||
#include "core/utils/fs.h"
|
||||
#include "core/utils/misc.h"
|
||||
#include "core/preferences.h"
|
||||
|
||||
class SearchCategories: public QObject, public QHash<QString, QString> {
|
||||
@ -150,7 +151,7 @@ public slots:
|
||||
QStringList params;
|
||||
params << Utils::Fs::toNativePath(Utils::Fs::searchEngineLocation()+"/nova2.py");
|
||||
params << "--capabilities";
|
||||
nova.start("python", params, QIODevice::ReadOnly);
|
||||
nova.start(Utils::Misc::pythonExecutable(), params, QIODevice::ReadOnly);
|
||||
nova.waitForStarted();
|
||||
nova.waitForFinished();
|
||||
QString capabilities = QString(nova.readAll());
|
||||
|
Loading…
Reference in New Issue
Block a user