35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/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: {}% ({:.3}G)'.format(100.0 - mem.percent, mem.available / 2**30)
							 | 
						||
| 
								 | 
							
								    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='')
							 |