34 lines
1 KiB
Python
34 lines
1 KiB
Python
import os
|
|
import psutil
|
|
from modules.base_module import BaseModule
|
|
|
|
class SystemInfoModule(BaseModule):
|
|
|
|
def get_display_text(self):
|
|
lines = []
|
|
|
|
# CPU temperature
|
|
try:
|
|
with open("/sys/class/thermal/thermal_zone0/temp", "r") as f:
|
|
temp_str = f.read()
|
|
cpu_temp = round(int(temp_str) / 1000.0, 1)
|
|
temp_str = f"{cpu_temp:>4}°C"
|
|
except FileNotFoundError:
|
|
temp_str = " N/A°C"
|
|
|
|
# CPU usage
|
|
cpu_usage = psutil.cpu_percent(interval=0.2)
|
|
cpu_str = f"{cpu_usage:>5.1f}%"
|
|
|
|
# Memory usage
|
|
mem = psutil.virtual_memory()
|
|
mem_used = round(mem.used / (1024 * 1024))
|
|
mem_total = round(mem.total / (1024 * 1024))
|
|
mem_str = f"{mem_used}/{mem_total}MB"
|
|
mem_pct_str = f"{mem.percent:>5.1f}%"
|
|
|
|
# Compose lines for better alignment
|
|
lines.append(f"Temp:{temp_str} CPU:{cpu_str}")
|
|
lines.append(f"Mem: {mem_str} ({mem_pct_str})")
|
|
|
|
return "\n".join(lines) |