#!/usr/bin/python3 -u import time import psutil def status_print(status_msg): prefix = '[' postfix = ']' result = list() for element in status_msg: result.append('{"full_text":"' + element + '"}') print(prefix + ','.join(result) + postfix) print('{"version":1}\n[') while True: values = list() current_time = time.strftime('%a %d %H:%M') values.append(current_time) mem = psutil.virtual_memory() memory = 'RAM: {}% ({}G)'.format(round(100.0 - mem.percent, 2), round(mem.available / 2**30, 2)) values.append(memory) with open('/sys/class/power_supply/BAT0/capacity', 'r') as capacity, \ open('/sys/class/power_supply/BAT0/status', 'r') as status: batt_status = status.read().strip() batt_capacity = capacity.read().strip() if batt_status != 'Discharging': batt_status = '↑' else: batt_status = '↓' batt = 'BAT: ' + batt_capacity + '% ' + batt_status values.append(batt) values.reverse() status_print(values) time.sleep(5) print(',', end='')