From 6874a90bb48704c8fb2e9db5edf9a563a3186687 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 2 Jun 2026 07:26:52 +0200 Subject: [PATCH] lib.base.Result.__repr__(): Add method Add __repr__() to Result to make it more meaningful in log messages. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/lib/base.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/python/jw/pkg/lib/base.py b/src/python/jw/pkg/lib/base.py index 8e417da2..a627d750 100644 --- a/src/python/jw/pkg/lib/base.py +++ b/src/python/jw/pkg/lib/base.py @@ -1,7 +1,7 @@ from __future__ import annotations from enum import Enum, auto -from typing import NamedTuple, TypeAlias, TYPE_CHECKING +from typing import TYPE_CHECKING, NamedTuple, TypeAlias if TYPE_CHECKING: import os @@ -54,6 +54,23 @@ class Result: def encoding(self, value: str) -> None: self.__encoding = value + def __stdout_footprint(self, quote = False) -> str: + if self.__stdout is None: + ret = '' + else: + ret = self.stdout_str[:20] + if quote: + ret = '"{ret}"' + return ret + + def __repr__(self) -> str: + ret = f'{self.__status}:' + if self.status != 0: + ret += f' err: {self.stderr_str_or_none}' + else: + ret += f' out: {self.__stdout_footprint(quote=True)}' + return ret + @property def strip(self) -> bool: return self.__strip