#!/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()