MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / queryPackages

Method queryPackages

src/plugins/python/python/option/interpreterwidget.cpp:275–307  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

273}
274
275void InterpreterWidget::queryPackages(const QString &cmd)
276{
277 QProcess process;
278 connect(&process, static_cast<void (QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished),
279 &process, [&](int exitcode, QProcess::ExitStatus exitStatus) {
280 QueryInfo info;
281 if (0 == exitcode && exitStatus == QProcess::ExitStatus::NormalExit) {
282 QString output = QString(process.readAllStandardOutput());
283 QStringList list = output.split("\n");
284 foreach (QString value, list) {
285 value = value.trimmed();
286 value = value.replace(QRegExp("[\\s]+"), ",");
287 QStringList sublist = value.split(",");
288 if (sublist.count() > 1) {
289 if (sublist.at(0).indexOf("Package") > -1
290 || sublist.at(0).indexOf("----") > -1) {
291 continue;
292 }
293 info.packageList.append(QPair<QString, QString>(sublist.at(0).trimmed(), sublist.at(1).trimmed()));
294 }
295 }
296 } else {
297 info.errMsg = process.readAllStandardError();
298 }
299 metaObject()->invokeMethod(this,
300 "applyQueryInfo",
301 Qt::QueuedConnection,
302 Q_ARG(QueryInfo, info));
303 });
304
305 process.start(cmd);
306 process.waitForFinished();
307}
308
309void InterpreterWidget::applyQueryInfo(const QueryInfo &info)
310{

Callers

nothing calls this directly

Calls 5

connectFunction · 0.85
readAllStandardOutputMethod · 0.80
readAllStandardErrorMethod · 0.80
QStringClass · 0.50
startMethod · 0.45

Tested by

no test coverage detected