diff --git a/CHANGELOG b/CHANGELOG index c147ccc..a297e0f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,7 @@ Ver.1.10.0: + added error checking of DataEngine variables + added ability to disable popup messages + added ability to use vertical layout ++ added ability to show debug information in DataEngine + added Brazillian Portuguese translation (@underr) + added Ukrainian translation (Виктор Слободян) - removed util.py diff --git a/CHANGELOG-RU b/CHANGELOG-RU index 3f7dd29..4029ebc 100644 --- a/CHANGELOG-RU +++ b/CHANGELOG-RU @@ -8,6 +8,7 @@ + добавлена проверка ошибок для переменных DataEngine + добавлена возможность отключения всплывающих сообщений + добавлена возможность использовать вертикальную разметку ++ добавлена возможность вывод отладочной информации в DataEngine + добавлен перевод Brazillian Portuguese (@underr) + добавлена украинская локализация (Виктор Слободян) - удален util.py diff --git a/PKGBUILD b/PKGBUILD index 0928bc3..b943523 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -21,7 +21,7 @@ optdepends=("amarok: for music player monitor" makedepends=('automoc4' 'cmake') source=(https://github.com/arcan1s/pytextmonitor/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz) install=${pkgname}.install -md5sums=('658be821632a8be9aa594765e4f14939') +md5sums=('7366d3a97c2426f3ffe769e74f83a86b') backup=('usr/share/config/extsysmon.conf') prepare() { diff --git a/sources/ext-sysmon/extsysmon.conf b/sources/ext-sysmon/extsysmon.conf index 89cf825..35391c3 100644 --- a/sources/ext-sysmon/extsysmon.conf +++ b/sources/ext-sysmon/extsysmon.conf @@ -30,3 +30,6 @@ # Player name. Supported players are amarok, clementine, mpd, qmmp #PLAYER=amarok + +# Enable some debug information (yes or no) +#DEBUG=no diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index 095033f..3794893 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -33,47 +34,54 @@ ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList& args) Q_UNUSED(args) setMinimumPollingInterval(333); + debug = true; readConfiguration(); } QString ExtendedSysMon::getAllHdd() { + if (debug) qDebug() << "[getAllHdd]"; QProcess command; QStringList devices; + QString cmd = QString("find /dev -name [hms]d[a-z]"); QString qoutput = QString(""); - QString dev; - command.start("find /dev -name [hms]d[a-z]"); + if (debug) qDebug() << "[getAllHdd]" << ":" << "Run cmd" << cmd; + command.start(cmd); command.waitForFinished(-1); -#include - qDebug() << command.readAllStandardError(); + if (debug) qDebug() << "[getAllHdd]" << ":" << "Cmd returns" << command.exitCode(); qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); - for (int i=0; itoUnicode(command.readAllStandardOutput()); if (qoutput.toLower().contains("nvidia")) gpu = QString("nvidia"); else if (qoutput.toLower().contains("radeon")) gpu = QString("ati"); + if (debug) qDebug() << "[getAutoGpu]" << ":" << "Device" << gpu; return gpu; } QStringList ExtendedSysMon::sources() const { + if (debug) qDebug() << "[sources]"; QStringList source; source.append(QString("custom")); source.append(QString("gpu")); @@ -82,15 +90,18 @@ QStringList ExtendedSysMon::sources() const source.append(QString("pkg")); source.append(QString("player")); source.append(QString("ps")); + if (debug) qDebug() << "[sources]" << ":" << "Sources" << source; return source; } void ExtendedSysMon::readConfiguration() { + if (debug) qDebug() << "[readConfiguration]"; // pre-setup QMap rawConfig; rawConfig[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip"); + rawConfig[QString("DEBUG")] = QString("no"); rawConfig[QString("GPUDEV")] = QString("auto"); rawConfig[QString("HDDDEV")] = QString("all"); rawConfig[QString("HDDTEMPCMD")] = QString("sudo hddtemp"); @@ -101,6 +112,7 @@ void ExtendedSysMon::readConfiguration() rawConfig[QString("PLAYER")] = QString("amarok"); QString fileName = KGlobal::dirs()->findResource("config", "extsysmon.conf"); + if (debug) qDebug() << "[readConfiguration]" << ":" << "Configuration file" << fileName; QFile confFile(fileName); bool ok = confFile.open(QIODevice::ReadOnly); if (!ok) { @@ -124,12 +136,12 @@ void ExtendedSysMon::readConfiguration() } confFile.close(); configuration = updateConfiguration(rawConfig); - return; } QMap ExtendedSysMon::updateConfiguration(const QMap rawConfig) { + if (debug) qDebug() << "[updateConfiguration]"; QMap config; QString key, value; // remove spaces and copy source map @@ -142,6 +154,13 @@ QMap ExtendedSysMon::updateConfiguration(const QMap ExtendedSysMon::updateConfiguration(const QMap ExtendedSysMon::updateConfiguration(const QMaptoUnicode(command.readAllStandardOutput()).trimmed(); + if (debug) qDebug() << "[getCustomCmd]" << ":" << "Return" << qoutput; return qoutput; } float ExtendedSysMon::getGpu(const QString device) { + if (debug) qDebug() << "[getGpu]"; + if (debug) qDebug() << "[getGpu]" << ":" << "Run function with device" << device; float gpu = 0.0; if ((device != QString("nvidia")) && (device != QString("ati"))) return gpu; @@ -199,8 +232,11 @@ float ExtendedSysMon::getGpu(const QString device) QString qoutput; if (device == QString("nvidia")) { - command.start(QString("nvidia-smi -q -d UTILIZATION")); + QString cmd = QString("nvidia-smi -q -d UTILIZATION"); + if (debug) qDebug() << "[getGpu]" << ":" << "Run cmd" << cmd; + command.start(cmd); command.waitForFinished(-1); + if (debug) qDebug() << "[getGpu]" << ":" << "Cmd returns" << command.exitCode(); qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()).trimmed(); if (qoutput.split(QChar(':'), QString::SkipEmptyParts).count() >= 3) { QString temp = qoutput.split(QChar(':'), QString::SkipEmptyParts)[2]; temp.remove(QChar(0260)).remove(QChar('C')); hddTemp = temp.toFloat(); } + if (debug) qDebug() << "[getHddTemp]" << ":" << "Return" << hddTemp; return hddTemp; } @@ -284,6 +340,10 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, const QString mpdAddress, const QString mpdPort) { + if (debug) qDebug() << "[getPlayerInfo]"; + if (debug) qDebug() << "[getPlayerInfo]" << ":" << "Run function with player" << playerName; + if (debug) qDebug() << "[getPlayerInfo]" << ":" << "Run function with MPD parameters" << + mpdAddress + QString(":") + mpdPort; QStringList info; // album info.append(QString("unknown")); @@ -296,12 +356,16 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, // title info.append(QString("unknown")); QProcess command; + QString cmd; QString qoutput = QString(""); QString qstr; if (playerName == QString("amarok")) { // amarok - command.start("qdbus org.kde.amarok /Player GetMetadata"); + cmd = QString("qdbus org.kde.amarok /Player GetMetadata"); + if (debug) qDebug() << "[getPlayerInfo]" << ":" << "Run cmd" << cmd; + command.start(cmd); command.waitForFinished(-1); + if (debug) qDebug() << "[getPlayerInfo]" << ":" << "Cmd returns" << command.exitCode(); qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()); for (int i=0; itoUnicode(command.readAllStandardOutput()).trimmed(); for (int i=0; itoUnicode(command.readAllStandardOutput()).trimmed(); int psTotal = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); psStats.append(QString::number(psTotal)); + if (debug) qDebug() << "[getPsStats]" << ":" << "Return" << psStats; return psStats; } int ExtendedSysMon::getUpgradeInfo(const QString pkgCommand, const int pkgNull) { + if (debug) qDebug() << "[getUpgradeInfo]"; + if (debug) qDebug() << "[getUpgradeInfo]" << ":" << "Run function with cmd" << pkgCommand; + if (debug) qDebug() << "[getUpgradeInfo]" << ":" << "Run function with number of null lines" << pkgNull; int count = 0; + QString cmd = QString("bash -c \"") + pkgCommand + QString("\""); QProcess command; QString qoutput = QString(""); - command.start(QString("bash -c \"") + pkgCommand + QString("\"")); + if (debug) qDebug() << "[getUpgradeInfo]" << ":" << "Run cmd" << cmd; + command.start(cmd); command.waitForFinished(-1); + if (debug) qDebug() << "[getUpgradeInfo]" << ":" << "Cmd returns" << command.exitCode(); qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed(); count = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); + if (debug) qDebug() << "[getUpgradeInfo]" << ":" << "Return" << (count - pkgNull); return (count - pkgNull); } bool ExtendedSysMon::sourceRequestEvent(const QString &name) { + if (debug) qDebug() << "[sourceRequestEvent]"; + if (debug) qDebug() << "[sourceRequestEvent]" << ":" << "Run function with source name" << name; return updateSourceEvent(name); } bool ExtendedSysMon::updateSourceEvent(const QString &source) { + if (debug) qDebug() << "[updateSourceEvent]"; + if (debug) qDebug() << "[updateSourceEvent]" << ":" << "Run function with source name" << source; QString key; if (source == QString("custom")) { for (int i=0; i configuration; + bool debug; // reread configuration QString getAllHdd(); QString getAutoGpu();