nomadnet-website/pages/status.mu

32 lines
813 B
Plaintext
Executable File

#!/usr/bin/env python3
import os
import time
import subprocess
import json
import hswro
def sizeof_fmt(num, suffix="B"):
for unit in ("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"):
if abs(num) < 1024.0:
return f"{num:3.1f}{unit}{suffix}"
num /= 1024.0
return f"{num:.1f}Yi{suffix}"
status_raw = subprocess.run(["/home/reticulum/venv/bin/rnstatus", "-j"], capture_output=True)
status = json.loads(status_raw.stdout)
hswro.header("Node Status")
print("> Interfaces")
for i in status['interfaces']:
print(">> ", i['short_name'])
print("`!Clients:`! ", i['clients'])
print("`!Current RX:`! ", i['rxs'])
print("`!Current TX:`! ", i['txs'])
print("`!Total RX:`! ", sizeof_fmt(i['rxb']))
print("`!Total TX:`! ", sizeof_fmt(i['txb']))
hswro.footer()