26 #include <qabstractitemmodel.h>
29 #include "../common/sharedStructures.h"
36 enum Status {Unknown, Uptodate, Outdated};
38 PythonPackage(
const QString &name,
const QString &version,
const QString &location,
const QString &requires) :
39 m_name(name), m_version(version), m_location(location), m_requires(requires), m_status(Unknown), m_newVersion(
"")
54 PipGeneralOptions() : isolated(
false), logPath(
""), proxy(
""), timeout(15), retries(5), useTrustedHosts(
false) {}
61 QStringList trustedHosts;
99 taskVerifyInstalledPackages
111 QVariant
data(
const QModelIndex &
index,
int role)
const;
112 QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
113 QModelIndex
index(
int row,
int column,
const QModelIndex &
parent = QModelIndex())
const;
114 QModelIndex
parent(
const QModelIndex &
index)
const;
118 void startPipProcess();
119 bool isPipStarted()
const;
120 inline int getPipVersion()
const {
return m_pipVersion; }
122 void checkPipAvailable(
const PipGeneralOptions &options = PipGeneralOptions());
123 void listAvailablePackages(
const PipGeneralOptions &options = PipGeneralOptions());
124 void listAvailablePackages2(
const QStringList &names);
125 void checkPackageUpdates(
const PipGeneralOptions &options = PipGeneralOptions());
126 void checkVerifyInstalledPackages(
const PipGeneralOptions &options = PipGeneralOptions());
127 void installPackage(
const PipInstall &installSettings,
const PipGeneralOptions &options = PipGeneralOptions());
128 void uninstallPackage(
const QString &packageName,
bool runAsSudo,
const PipGeneralOptions &options = PipGeneralOptions());
129 void finalizeTask(
int exitCode = 0);
131 void interruptPipProcess();
133 bool isPackageInUseByOther(
const QModelIndex &
index);
137 QStringList parseGeneralOptions(
const PipGeneralOptions &options,
bool ignoreRetries =
false,
bool ignoreVersionCheck =
true)
const;
146 QProcess m_pipProcess;
148 QByteArray m_standardOutputBuffer;
149 QByteArray m_standardErrorBuffer;
152 QString m_pythonPath;
154 wchar_t *m_pUserDefinedPythonHome;
159 void processError(QProcess::ProcessError error);
160 void processFinished(
int exitCode, QProcess::ExitStatus exitStatus);
161 void processReadyReadStandardError();
162 void processReadyReadStandardOutput();
165 void pipManagerBusy();
166 void outputAvailable(
const QString &text,
bool success);
167 void pipVersion(
const QString &version);
168 void pipRequestStarted(
const PipManager::Task &task,
const QString &text,
bool outputSilent =
false);
169 void pipRequestFinished(
const PipManager::Task &task,
const QString &text,
bool success);
174 #endif //PIPMANAGER_H
ito::RetVal checkCallMode()
check if pip can be called via the itom-packages/pipProcess/runPipUtf8.py script or directly ...
Definition: pipManager.cpp:299
Class for managing status values (like errors or warning)
Definition: retVal.h:54
PipMode
Definition: pipManager.h:102
Definition: pipManager.h:64
Definition: apiFunctionsGraph.cpp:39
QVariant data(const QModelIndex &index, int role) const
Definition: pipManager.cpp:375
Definition: pipManager.h:52
QList< PythonPackage > m_pythonPackages
list with installed python packages
Definition: pipManager.h:145
void startProcess(const QStringList &arguments)
the arguments string list must not contain -m as first entry.
Definition: pipManager.cpp:465
PipManager(ito::RetVal &retval, QObject *parent=0)
Definition: pipManager.cpp:43
Definition: pipManager.h:34
QList< QString > m_headers
string list of names of column headers
Definition: pipManager.h:143
int columnCount(const QModelIndex &parent=QModelIndex()) const
Definition: pipManager.cpp:434
QString m_runPipUtf8Path
only valid if m_pipCallMode == pipModeRunPipUtf8
Definition: pipManager.h:156
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Definition: pipManager.cpp:355
~PipManager()
Definition: pipManager.cpp:150
Definition: pipManager.h:83
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Definition: pipManager.cpp:448
directly call pip as process (might cause encoding errors under windows)
Definition: pipManager.h:104
QList< QVariant > m_alignment
list of alignments for the corresponding headers
Definition: pipManager.h:144
QModelIndex parent(const QModelIndex &index) const
Definition: pipManager.cpp:336
int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: pipManager.cpp:346