From c271a30aa35ba9c782ab2979ebdc7e7d9875ea5b Mon Sep 17 00:00:00 2001 From: Lucie Scarlet Date: Sun, 21 Jul 2024 22:28:26 +0200 Subject: [PATCH] Fixed error when uptime is less than a day. Also updated the formatting a bit and added more typings --- i3/uptime.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/i3/uptime.py b/i3/uptime.py index c00aaad..01ee9c8 100644 --- a/i3/uptime.py +++ b/i3/uptime.py @@ -6,17 +6,22 @@ def main() -> int: with open("/proc/uptime", "r") as uptime: raw_uptime = uptime.read() text_uptime: str = raw_uptime.split()[0] - raw_formatted = timedelta(seconds=(float(text_uptime))) + raw_formatted: timedelta = timedelta(seconds=(float(text_uptime))) well_formatted: str = str(raw_formatted).split(".")[0][:-3] fmt = well_formatted.split(".")[0] - f2 = fmt.split(' days, ')[1] - days = fmt.split(' days, ')[0] + daysfmt = fmt.split(" days, ") + if len(daysfmt) > 2: + f2: str = daysfmt[1] + days: str | None = daysfmt[0] + else: + f2 = daysfmt[0] + days = None hours = f2.split(":")[0] mins = f2.split(":")[1] - output_d = f"{days}d" if days else "" - output_h = f"{hours}h" + output_d = f"{days}d " if days else "" + output_h = f"{hours}h " output_m = f"{mins}m" - print(f"Uptime: {output_d} {output_h} {output_m}") + print(f"Uptime: {output_d}{output_h}{output_m}") return 0 -- 2.45.2