From 111d1e276bd4545c9490ad1877ca865126a2c5a5 Mon Sep 17 00:00:00 2001 From: Stephanos Kuma Date: Sun, 12 May 2024 21:48:07 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=80=20Replace=20timing=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/yamk/lib.py | 18 +++--------------- src/yamk/make.py | 8 ++++++-- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/yamk/lib.py b/src/yamk/lib.py index e62686d..3b4942e 100644 --- a/src/yamk/lib.py +++ b/src/yamk/lib.py @@ -13,6 +13,7 @@ from typing import Any, Literal, cast from pyutilkit.term import SGRCodes, SGRString +from pyutilkit.timing import Timing from yamk.functions import functions @@ -347,22 +348,9 @@ def _clean_head(unmerged: list[list[Node]], head: Node) -> list[list[Node]]: class CommandReport: command: str retries: int - timing_ns: int + timing: Timing success: bool - def _formatted_timing(self) -> str: - if self.timing_ns < 1000: - return f"{self.timing_ns} ns" - timing: float = self.timing_ns - timing /= 1000 - if timing < 1000: - return f"{timing:.1f} µs" - timing /= 1000 - if timing < 1000: - return f"{timing:.1f} ms" - timing /= 1000 - return f"{timing:.2f} s" - def print(self, cols: int) -> None: if not self.success: indicator = "🔴" @@ -373,7 +361,7 @@ def print(self, cols: int) -> None: else: indicator = "🟢" sgr_code = SGRCodes.GREEN - timing = self._formatted_timing() + timing = str(self.timing) padding = " " * (cols - len(self.command) - len(timing) - 7) print( indicator, diff --git a/src/yamk/make.py b/src/yamk/make.py index c56ec45..713fdeb 100644 --- a/src/yamk/make.py +++ b/src/yamk/make.py @@ -12,6 +12,7 @@ from dj_settings import ConfigParser from pyutilkit.term import SGRCodes, SGRString +from pyutilkit.timing import Timing from yamk import lib from yamk.__version__ import __version__ @@ -94,7 +95,10 @@ def _run_command(self, command: str) -> int: status = result.returncode if status == 0: report = lib.CommandReport( - command=command, timing_ns=total, retries=i, success=True + command=command, + timing=Timing(nanoseconds=total), + retries=i, + success=True, ) self.reports.append(report) return status @@ -105,7 +109,7 @@ def _run_command(self, command: str) -> int: sleep(a) report = lib.CommandReport( - command=command, timing_ns=total, retries=i, success=False + command=command, timing=Timing(nanoseconds=total), retries=i, success=False ) self.reports.append(report) return status