diff --git a/src/statd/python/cli_pretty/cli_pretty.py b/src/statd/python/cli_pretty/cli_pretty.py index b1e25cd6..fcefc01c 100755 --- a/src/statd/python/cli_pretty/cli_pretty.py +++ b/src/statd/python/cli_pretty/cli_pretty.py @@ -186,14 +186,6 @@ class PadLldp: port_id = 20 -class PadDiskUsage: - mount = 18 - size = 12 - used = 12 - avail = 12 - percent = 6 - - def format_memory_bytes(bytes_val): """Convert bytes to human-readable format""" if bytes_val == 0: @@ -221,11 +213,6 @@ def format_uptime_seconds(seconds): else: return f"{seconds // 86400}d" - @classmethod - def table_width(cls): - """Total width of disk usage table""" - return cls.mount + cls.size + cls.used + cls.avail + cls.percent - class Column: """Column definition for SimpleTable""" @@ -2939,7 +2926,7 @@ def show_system(json): except (ValueError, KeyError): pass - width = PadDiskUsage.table_width() + width = 62 print(Decore.invert(f"{'SYSTEM INFORMATION':<{width}}")) print(f"{'OS Name':<20}: {platform.get('os-name', 'Unknown')}") print(f"{'OS Version':<20}: {platform.get('os-version', 'Unknown')}") @@ -3022,23 +3009,23 @@ def show_system(json): disk_filtered = [d for d in disk if d.get("mount") != "/"] if disk_filtered: Decore.title("Disk Usage", width) - hdr = (f"{'MOUNTPOINT':<{PadDiskUsage.mount}}" - f"{'SIZE':>{PadDiskUsage.size}}" - f"{'USED':>{PadDiskUsage.used}}" - f"{'AVAIL':>{PadDiskUsage.avail}}" - f"{'USE%':>{PadDiskUsage.percent}}") - print(Decore.invert(hdr)) + disk_table = SimpleTable([ + Column('MOUNTPOINT', flexible=True), + Column('SIZE', 'right'), + Column('USED', 'right'), + Column('AVAIL', 'right'), + Column('USE%', 'right') + ], min_width=width) + for d in disk_filtered: - mount = d.get("mount", "?") - size = d.get("size", "?") - used = d.get("used", "?") - avail = d.get("available", "?") - percent = d.get("percent", "?") - print(f"{mount:<{PadDiskUsage.mount}}" - f"{size:>{PadDiskUsage.size}}" - f"{used:>{PadDiskUsage.used}}" - f"{avail:>{PadDiskUsage.avail}}" - f"{percent:>{PadDiskUsage.percent}}") + disk_table.row( + d.get("mount", "?"), + d.get("size", "?"), + d.get("used", "?"), + d.get("available", "?"), + d.get("percent", "?") + ) + disk_table.print() def show_dhcp_server(json, stats):