This repository has been archived on 2022-12-29. You can view files and clone it, but cannot push or open issues or pull requests.
zeropod/plugin/info/__init__.py

28 lines
1.2 KiB
Python

import subprocess
from cinput import ControlInput, Button
from graphics import Graphics
def execute(cinput: ControlInput, graphics: Graphics, _):
while True:
cmd = "hostname -I | cut -d' ' -f1"
ip = subprocess.check_output(cmd, shell=True).decode("utf-8")
cmd = "top -bn 2 |grep \"Cpu(s)\" | awk '{print $2+$4+$6+$10+$12+$14+$16 \"%\"}' | tail -n1"
cpu = subprocess.check_output(cmd, shell=True).decode("utf-8")
cmd = "free | grep Mem | awk '{print int($3/$2 * 100.0 +0.5) \"%\"}'"
mem = subprocess.check_output(cmd, shell=True).decode("utf-8")
cmd = "df -h | awk '$NF==\"/\"{printf \"Disk: %d/%d GB %s\", $3,$2,$5}'"
disk = subprocess.check_output(cmd, shell=True).decode("utf-8")
cmd = "uptime | awk '{print $3}' | sed 's/,$//'"
up = subprocess.check_output(cmd, shell=True).decode("utf-8")
graphics.clear()
graphics.text("IP: " + ip, 0, 0, 1)
graphics.text("CPU: " + cpu, 0, 1, 1)
graphics.text("Memory: " + mem, 0, 2, 1)
graphics.text(disk, 0, 3, 1)
graphics.text("Uptime: " + up, 0, 4, 1)
graphics.show()
key = cinput.get_one_shot(5)
if key == Button.BTN_A:
return