From e7bd2cc2999bab1ec4a5644cf005cce749040c89 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Fri, 22 Feb 2013 05:00:19 +0400 Subject: [PATCH] Added archive --- pytextmonitor.plasmoid | Bin 0 -> 6758 bytes source/contents/code/main_bckp.py | 299 ------------------------------ 2 files changed, 299 deletions(-) create mode 100644 pytextmonitor.plasmoid delete mode 100755 source/contents/code/main_bckp.py diff --git a/pytextmonitor.plasmoid b/pytextmonitor.plasmoid new file mode 100644 index 0000000000000000000000000000000000000000..9050fab008c2e9872cab1680ec976a04aab96915 GIT binary patch literal 6758 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 f /dev/null); then " - command_line = command_line + "if ! (ifconfig "+ interfaces[0] + " | grep 'inet ' > /dev/null); then echo lo; " - command_line = command_line + "else echo "+ interfaces[0] + "; fi; else echo "+ interfaces[1] + "; fi" - self.netdev = commands.getoutput(command_line) - self.cpuText = " 0.0" - self.up_speed = " 0" - self.down_speed = " 0" - self.connectToEngine() - - self.resize(250,10) - - # start timer - self.timer = QtCore.QTimer() - self.timer.setInterval(self.interval) - self.startPolling() - - def configAccepted(self): - """function to accept settings""" - # update local variables - self.format = str(self.configpage.ui.lineEdit_format.text()) - self.interval = int(self.configpage.ui.spinBox_interval.value()) - self.font_family = str(self.configpage.ui.fontComboBox.currentFont().family()) - self.font_size = int(self.configpage.ui.spinBox_fontSize.value()) - self.font_color = str(self.configpage.ui.kcolorcombo.color().name()) - self.font_style = str(self.configpage.ui.lineEdit_style.text()) - self.num_dev = int(self.configpage.ui.comboBox_numNet.currentIndex()) - - # save config to settings - self.settings.set('format', self.format) - self.settings.set('interval', self.interval) - self.settings.set('font_family', self.font_family) - self.settings.set('font_size', self.font_size) - self.settings.set('font_color', self.font_color) - self.settings.set('font_style', self.font_style) - self.settings.set('num_dev', self.num_dev) - - # update timer - self.timer.setInterval(self.interval) - self.startPolling() - - def createConfigurationInterface(self, parent): - """function to setup configuration window""" - self.configpage = ConfigWindow(self, self.settings) - - font = QFont(str(self.settings.get('font_family', 'Terminus')), int(self.settings.get('font_size', 12)), int(int(self.settings.get('font_weight', 50)))) - self.configpage.ui.lineEdit_format.setText(str(self.settings.get('format', '[cpu: $cpu%][temp: $temp°C][mem: $mem%][swap: $swap%][ip: $ip][net: $netKB/s][bat: $bat%]'))) - self.configpage.ui.spinBox_interval.setValue(int(self.settings.get('interval', '2000'))) - self.configpage.ui.fontComboBox.setCurrentFont(font) - self.configpage.ui.spinBox_fontSize.setValue(int(self.settings.get('font_size', 12))) - self.configpage.ui.kcolorcombo.setColor(QColor(str(self.settings.get('font_color', '#000000')))) - self.configpage.ui.lineEdit_style.setText(str(self.settings.get('font_style', 'normal'))) - self.configpage.ui.comboBox_numNet.setCurrentIndex(int(self.settings.get('num_dev', 0))) - - # add config page - page = parent.addPage(self.configpage, i18n(self.name())) - page.setIcon(KIcon(self.icon())) - - parent.okClicked.connect(self.configAccepted) - - def formating_line(self): - """function to set format line""" - output = self.format - - if (output.split("$cpu")[0] != output): - output = output.split("$cpu")[0] + self.cpuText + output.split("$cpu")[1] - if (output.split("$temp")[0] != output): - output = output.split("$temp")[0] + self.tempText() + output.split("$temp")[1] - if (output.split("$mem")[0] != output): - output = output.split("$mem")[0] + self.memText() + output.split("$mem")[1] - if (output.split("$swap")[0] != output): - output = output.split("$swap")[0] + self.swapText() + output.split("$swap")[1] - if (output.split("$ip")[0] != output): - output = output.split("$ip")[0] + self.ipText() + output.split("$ip")[1] - if (output.split("$net")[0] != output): - output = output.split("$net")[0] + self.netText() + output.split("$net")[1] - if (output.split("$bat")[0] != output): - output = output.split("$bat")[0] + self.batText() + output.split("$bat")[1] - - return output - - def showConfigurationInterface(self): - """function to show configuration window""" - plasmascript.Applet.showConfigurationInterface(self) - - def showTooltip(self, text): - """function to create and set tooltip""" - tooltip = Plasma.ToolTipContent() - tooltip.setImage(KIcon(self.icon())) - tooltip.setSubText(text) - tooltip.setAutohide(False) - Plasma.ToolTipManager.self().setContent(self.applet, tooltip) - Plasma.ToolTipManager.self().registerWidget(self.applet) - - def startPolling(self): - try: - self.timer.start() - QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.updateLabel) - - self.updateLabel() - self.showTooltip('') - except Exception as (strerror): - self.showTooltip(str(strerror)) - self.label.setText('ERROR') - return - - def updateLabel(self): - """function to update label""" - string = self.formating_line() - text = "" - text = text + "

"+string
-        text = text + "

" - self.label.setText(text) - - def batText(self): - """function to set battery text""" - commandOut = commands.getoutput("acpi") - bat = commandOut.split()[3][:-1] - output = "%3s" % (bat) - - return output - - def cpuTextOld(self): - """function to set cpu text""" - with open ("/proc/stat", 'r') as stat: - for line in stat: - if (line[0:4] == "cpu "): - cpu_1 = line.split()[1:5] - time.sleep(0.2) - with open ("/proc/stat", 'r') as stat: - for line in stat: - if (line[0:4] == "cpu "): - cpu_2 = line.split()[1:5] - duser = float(cpu_2[0]) - float(cpu_1[0]) - dnice = float(cpu_2[1]) - float(cpu_1[1]) - dsys = float(cpu_2[2]) - float(cpu_1[2]) - didle = float(cpu_2[3]) - float(cpu_1[3]) - full = duser + dnice + dsys + didle - cpu = (full-didle) / full * 100 - output = "%5s" % (str(round(cpu, 1))) - - return output - - def ipText(self): - """function to set ip text""" - command_line = "wget http://checkip.dyndns.org/ -q -O - | awk '{print $6}' | sed 's/<.*>//g'" - ip = commands.getoutput(command_line)[:-1].split('.') - output = "%3s.%3s.%3s.%3s" % (str(ip[0]), str(ip[1]), str(ip[2]), str(ip[3])) - - return output - - def memText(self): - """function to set mem text""" - line = commands.getoutput("free | grep Mem:") - used = float(line.split()[2]) - float(line.split()[4]) - float(line.split()[5]) - float(line.split()[6]) - full = float(line.split()[1]) - mem = 100 * used / full - output = "%5s" % (str(round(mem, 1))) - - return output - - def netText(self): - """function to set netspeed text""" - output = self.down_speed + "/" + self.up_speed - - return output - - def netTextold(self): - """function to set netspeed text""" - if (self.num_dev == 0): - for line in commands.getoutput("ifconfig -a").split("\n"): - if (line != ''): - if ((line[0] != ' ') and (line[0:3] != "lo:")): - netdev = line.split()[0][:-1] - else: - interfaces = [] - for line in commands.getoutput("ifconfig -a").split("\n"): - if (line != ''): - if ((line[0] != ' ') and (line[0:3] != "lo:")): - interfaces.append(line.split()[0][:-1]) - - command_line = "if ! (ifconfig "+ interfaces[1] + " | grep 'inet ' > /dev/null); then " - command_line = command_line + "if ! (ifconfig "+ interfaces[0] + " | grep 'inet ' > /dev/null); then echo lo; " - command_line = command_line + "else echo "+ interfaces[0] + "; fi; else echo "+ interfaces[1] + "; fi" - netdev = commands.getoutput(command_line) - - command_line = "RXB=$(cat /sys/class/net/" + netdev - command_line = command_line + "/statistics/rx_bytes) && TXB=$(cat /sys/class/net/" + netdev - command_line = command_line + "/statistics/tx_bytes) && sleep 0.2 && RXBN=$(cat /sys/class/net/" + netdev - command_line = command_line + "/statistics/rx_bytes) && TXBN=$(cat /sys/class/net/" + netdev - command_line = command_line + "/statistics/tx_bytes) && RXDIF=$(echo $((RXBN - RXB)) ) && TXDIF=$(echo $((TXBN - TXB)) ) " - command_line = command_line + "&& echo -en $((10*RXDIF/1024/2)) && echo -n ' / ' && echo -en $((10*TXDIF/1024/2)) && echo ' KB/s'" - speed = commands.getoutput(command_line) - - downSpeed = speed.split()[0] - upSpeed = speed.split()[2] - output = "%4s/%4s" % (downSpeed, upSpeed) - - return output - - def swapText(self): - """function to set swap text""" - line = commands.getoutput("free | grep Swap:") - used = float(line.split()[2]) - full = float(line.split()[1]) - mem = 100 * used / full - output = "%5s" % (str(round(mem, 1))) - - return output - - def tempText(self): - """function to set temp text""" - commandOut = commands.getoutput("sensors | grep Physical") - temp = commandOut[17:21] - output = "%4s" % (temp) - - return output - - def connectToEngine(self): - self.systemmonitor = self.dataEngine("systemmonitor") - self.systemmonitor.connectSource("cpu/system/TotalLoad", self, 200) - self.systemmonitor.connectSource("network/interfaces/net0/transmitter/data", self, 200) - self.systemmonitor.connectSource("network/interfaces/net0/receiver/data", self, 200) - - @pyqtSignature("dataUpdated(const QString &, const Plasma::DataEngine::Data &)") - def dataUpdated(self, sourceName, data): - if (sourceName == "cpu/system/TotalLoad") and (data[QString(u'value')]): - value = str(round(float(data[QString(u'value')]), 1)) - self.cpuText = "%5s" % (value) - if (sourceName == "network/interfaces/net0/transmitter/data") and (data[QString(u'value')]): - value = str(round(float(data[QString(u'value')]), 0)) - self.up_speed = "%4s" % (value) - if (sourceName == "network/interfaces/net0/reciever/data") and (data[QString(u'value')]): - value = str(round(float(data[QString(u'value')]), 0)) - self.down_speed = "%4s" % (value) - - - -def CreateApplet(parent): - return pyTextWidget(parent) \ No newline at end of file