disk and load plugins, freq option support for all plugins

This commit is contained in:
Von Random 2016-10-23 01:53:02 +03:00
parent 2016033f39
commit b839f9f114
5 changed files with 55 additions and 6 deletions

View file

@ -12,7 +12,7 @@ class PluginThread(threading.Thread):
self.status = dict() self.status = dict()
if config.has_option(section, 'color'): if config.has_option(section, 'color'):
self.status['color'] = config.get(section, 'color') self.status['color'] = config.get(section, 'color')
self.freq = 1 self.freq = config.get(section, 'freq', fallback=1)
def main(self): def main(self):
with open(BATTERY_DIR + 'capacity', 'r') as capacity, \ with open(BATTERY_DIR + 'capacity', 'r') as capacity, \

View file

@ -10,7 +10,7 @@ class PluginThread(threading.Thread):
self.status = dict() self.status = dict()
if config.has_option(section, 'color'): if config.has_option(section, 'color'):
self.status['color'] = config.get(section, 'color') self.status['color'] = config.get(section, 'color')
self.freq = 1 self.freq = config.get(section, 'freq', fallback=1)
def main(self): def main(self):
self.status['full_text'] = time.strftime(self.date_format) self.status['full_text'] = time.strftime(self.date_format)

26
plugins/disk.py Normal file
View file

@ -0,0 +1,26 @@
import psutil
import threading
import time
class PluginThread(threading.Thread):
def __init__(self, section, config, thread_id):
threading.Thread.__init__(self)
self.threadID = thread_id
self.status = dict()
self.part = config.get(section, 'part')
if config.has_option(section, 'color'):
self.status['color'] = config.get(section, 'color')
self.freq = config.getint(section, 'freq', fallback=30)
def main(self):
du_stat = psutil.disk_usage(self.part)
# du_perc = str(du_stat.percent)
du_free = str(round(du_stat.free / 2**30, 2))
du = self.part + ': ' + du_free + 'G'
self.status['full_text'] = du
def run(self):
while True:
self.main()
time.sleep(self.freq)

24
plugins/load.py Normal file
View file

@ -0,0 +1,24 @@
import os
import time
import threading
class PluginThread(threading.Thread):
def __init__(self, section, config, thread_id):
threading.Thread.__init__(self)
self.threadID = thread_id
self.date_format = config.get(section, 'format', fallback='%c')
self.status = dict()
if config.has_option(section, 'color'):
self.status['color'] = config.get(section, 'color')
self.freq = config.get(section, 'freq', fallback=10)
def main(self):
loads = os.getloadavg()
loads = [str(i) for i in loads]
self.status['full_text'] = 'LA: ' + ' '.join(loads)
def run(self):
while True:
self.main()
time.sleep(self.freq)

View file

@ -10,13 +10,12 @@ class PluginThread(threading.Thread):
self.status = dict() self.status = dict()
if config.has_option(section, 'color'): if config.has_option(section, 'color'):
self.status['color'] = config.get(section, 'color') self.status['color'] = config.get(section, 'color')
self.freq = 1 self.freq = config.get(section, 'freq', fallback=1)
def main(self): def main(self):
mem_stat = psutil.virtual_memory() mem_stat = psutil.virtual_memory()
mem_percentage = round(100.0 - mem_stat.percent, 2) mem_available = str(round(mem_stat.available / 2**30, 2))
mem_available = round(mem_stat.available / 2**30, 2) mem = 'RAM: ' + mem_available + 'G'
mem = 'RAM: ' + str(mem_percentage) + '% (' + str(mem_available) + 'G)'
self.status['full_text'] = mem self.status['full_text'] = mem
def run(self): def run(self):