From 17efef871abfbbd276333bf8342f46fbc0a45e48 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Mon, 26 Aug 2013 04:30:46 +0400 Subject: [PATCH] Release ext-sysmon-1.1 port from python to cpp --- ext-sysmon-1.1.zip | Bin 2550 -> 2534 bytes ext-sysmon/CMakeLists.txt.user | 182 --------------------------------- ext-sysmon/extsysmon.cpp | 86 +++++++--------- 3 files changed, 35 insertions(+), 233 deletions(-) delete mode 100644 ext-sysmon/CMakeLists.txt.user diff --git a/ext-sysmon-1.1.zip b/ext-sysmon-1.1.zip index 2ca4f1be5c5ffa8362110e1cca92dd3eb0787a66..94eb49df00f8ed6605acd147a727ed64b8a0e431 100644 GIT binary patch delta 1227 zcmV;+1T_2h6Xp}J!2y4}BN{_(dvzIS1ONb}5&!@V0001Gcyx1lb8T;KE@NgN3Ksn)#Z-hms!ps@A$}>O&vv*eyH=|?FO~qajb_3%q~LE?^sC9@EIS0ug%*Heao6SY@yh%TYSsge2h8Q|8gZ=F?|~O19UP z3Hn!Jb^CR~0t)tMOr@~3Y8gR<4<@+J5t-+jhqNVdqzO4=po*csVHauK^m{&LPebopOW3IkZxvH@9 zQptE$(1b;F3!Ww(6}F>soWXHkUq46R<|>a^G!@&7JzuRLX&A3o!gA)65-QUqGP+p_ zN1O*&(4-ONy1WGYw3STI-)p_4E?ZgGzU z6f>i8hmJ@ZNV|}|xs0}jpJO^L1Io%E!+4loAluWd^I2m27%?&;$by{7N*#NfF*(y7 zJVi!p%;>BXW-e}20Xh|Mo*VBveQOSLhCDO-i-dp8oh*OgJp>xmYl)3y- zSm}Qr{Z2ZAO|`dXi5PVxwg9ui&OLZq-56OJe5wH*NfjVZzq0Azw0s+IBJDMPjQqN? z6ud8Oz*Js^9iaVtZz=k9jg z{YJ09@BXJl^3ULZ)r{OK@PBJqzsY&1&`1-4hZdScqBj%$ThQ3L1JKy|yU;M3f1Muu z;uO5WA!rWavmt2CnH~>A68Yw!`AEMh;@W#Xm9&v0WC|xoS~TJb*w|cP+fQBqd#Qh4 zQ*tbz2?a3{^{&@$5s zgJrthI$P@3WJ~Rju%&(zgLLU2v31i2i6tUjzc&kHn1O6Y2_0O0W^afxN%bq|`=R@( z^I^X??6ex)-NtaI(QCNvcg?nI7ylJ8l^5O@@xPnP{)q~?XF=&FP)h>@lVAxNvv&rx p0u8$(8bfV+bs1*_005+uI0;MvNt1;MI00vqz6ml0(+B_n0058|PQU;F delta 1243 zcmV<11SI?B6ZR9Z!2y4l92!H_GR7!(1ONbL5&!@V0001Gcyx1lb8T;KE@Nq_s7;JgE`B1U%Xn?_bWYUqi12^O#x9ZM1rH=)0gaxP zO7^LwflJ-)RP6DfUSE7R_uqW{L>+ktLK4wHR>0wbkg)%jM2rNo#e^&aiN?Yz0n|YS zsn?Szb}+^mrZ&_{Ur}v;*l+i{_O7W!C=pcdv4Hup-{GFef^jpDG&&}pxxKw@Jx)|! zHd{8_84YV;{{K-hW150LDxErh)aKYu+AZoOnIB(Cv-e6sF_xU z!m~OE)lJwy9~;6Qkm{F1D3@VQI#JU3CSO$t2lozPX9sR?+|H_-xNg!25@N1yqHohA0q42#s?#^-FsI2=*e`z)Hg%F-GMc7$g=C3HnPFA<462`@ z>O#NQY&G9Edd)X&_y*&MhVUwk@fMlvK{eQ1qLjW;MuDlSo~M-7QMqRd8D&1))11-y zP9lC%=%a4Y1#M~7MCdVDfD;U>lIhgz-6Iy-eki9M5=mhVwhjw-B19dDIpAtw`nMj` zHb;L(x~?^kj${%5CsvFovZ`AajC(Wt5I45c8Ckwm!n5!-rSTms8n;YE-fw~ zVd~5f6(V*y=mOxD$iSYSaV|`+!rdxIu7M);%NUg_8-x3Q*v4R$O=sc%!VZ==P++TI zf{K%TiZh;!Vs&VIJ+$9--W>FXomM5IyVn@*HhK-a{i@lv&HP`Y%F>As|9v^@za*bK z29&-7P)h>@lTZm7vu6gh0u7fO8bj4G#wd3L003r_C<#mfS(9}MI01K)t_d;*;|Kr% F000;tRMP+e diff --git a/ext-sysmon/CMakeLists.txt.user b/ext-sysmon/CMakeLists.txt.user deleted file mode 100644 index aa23587..0000000 --- a/ext-sysmon/CMakeLists.txt.user +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - true - 1 - true - 0 - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - Desktop - Desktop - {a22d6db7-e0a5-452b-9173-b8efacd95ba3} - 0 - 0 - 0 - - /home/arcanis/Documents/github/pytextmonitor/ext-sysmon-build - false - - - - - all - - false - false - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Сборка - - ProjectExplorer.BuildSteps.Build - - - - clean - - true - false - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Очистка - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - all - - CMakeProjectManager.CMakeBuildConfiguration - - 1 - - - 0 - Установка - - ProjectExplorer.BuildSteps.Deploy - - 1 - Локальная установка - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - true - - false - false - false - false - true - 0.01 - 10 - true - 25 - - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - - false - %{buildDir} - Запуск std::exception &E - - ProjectExplorer.CustomExecutableRunConfiguration - 3768 - true - false - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.EnvironmentId - {ab3ec085-9c1a-4bfc-af86-f7898da68a64} - - - ProjectExplorer.Project.Updater.FileVersion - 14 - - diff --git a/ext-sysmon/extsysmon.cpp b/ext-sysmon/extsysmon.cpp index e1f25c6..e90ce49 100644 --- a/ext-sysmon/extsysmon.cpp +++ b/ext-sysmon/extsysmon.cpp @@ -60,40 +60,33 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) key = QString("GPU"); if (gpudev == QString("nvidia")) { - try + f_out = popen("nvidia-smi -q -d UTILIZATION | grep Gpu | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2)) + value = QString(" N\\A"); + else { - f_out = popen("nvidia-smi -q -d UTILIZATION | grep Gpu | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2]; sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else if (gpudev == QString("ati")) { - try + f_out = popen("aticonfig --od-getclocks | grep load | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 3)) + value = QString(" N\\A"); + else { - f_out = popen("aticonfig --od-getclocks | grep load | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; - printf ("lol?"); out = QString(output).split(QString(" "), QString::SkipEmptyParts)[3]; sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else { @@ -108,38 +101,32 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) key = QString("GPUTemp"); if (gpudev == QString("nvidia")) { - try + f_out = popen("nvidia-smi -q -d TEMPERATURE | grep Gpu | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2)) + value = QString(" N\\A"); + else { - f_out = popen("nvidia-smi -q -d TEMPERATURE | grep Gpu | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2]; sprintf (val, "%4.1f", out.toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else if (gpudev == QString("ati")) { - try + f_out = popen("aticonfig --od-gettemperature | grep Temperature | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 4)) + value = QString(" N\\A"); + else { - f_out = popen("aticonfig --od-gettemperature | grep Temperature | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[4]; sprintf (val, "%4.1f", out.toFloat(&ok)); value = QString(val); } - catch(std::exception &e) - { - value = QString(" N\\A"); - } pclose(f_out); } else @@ -158,22 +145,19 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) { qb = hdddev[i].toUtf8(); dev = qb.data(); - sprintf(command, "sudo hddtemp %s 2>&1", dev); - try + sprintf(command, "hddtemp %s", dev); + f_out = popen(command, "r"); + fgets(output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(":"), QString::SkipEmptyParts).count() < 3)) + value = QString(" N\\A"); + else { - f_out = popen(command, "r"); - fgets(output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(":"), QString::SkipEmptyParts)[2]; sprintf (val, "%4.1f", out.left(out.count()-4).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); if (ok == false) value = QString(" N\\A"); setData(source, hdddev[i], value);