36 lines
1.1 KiB
Python
Executable file
36 lines
1.1 KiB
Python
Executable file
#!/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='')
|