diff options
Diffstat (limited to 'anta/logger.py')
-rw-r--r-- | anta/logger.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/anta/logger.py b/anta/logger.py index e53c93a..e532ace 100644 --- a/anta/logger.py +++ b/anta/logger.py @@ -7,6 +7,7 @@ from __future__ import annotations import logging import traceback +from datetime import timedelta from enum import Enum from typing import TYPE_CHECKING, Literal @@ -87,6 +88,12 @@ def setup_logging(level: LogLevel = Log.INFO, file: Path | None = None) -> None: logger.debug("ANTA Debug Mode enabled") +def format_td(seconds: float, digits: int = 3) -> str: + """Return a formatted string from a float number representing seconds and a number of digits.""" + isec, fsec = divmod(round(seconds * 10**digits), 10**digits) + return f"{timedelta(seconds=isec)}.{fsec:0{digits}.0f}" + + def exc_to_str(exception: BaseException) -> str: """Return a human readable string from an BaseException object.""" return f"{type(exception).__name__}{f': {exception}' if str(exception) else ''}" |