diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2015-12-08 20:16:58 +0100 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2015-12-17 23:36:53 +0100 |
commit | 667e5a41c36fea4c96bf5adff6188b05730e0cbf (patch) | |
tree | 0ea8b7c79b1bf653c13ebe8dc60f9839e305593a /utils_prog.py | |
parent | b5190366929abfbaf073e95d0264e5ee1e8c9334 (diff) | |
download | clufter-667e5a41c36fea4c96bf5adff6188b05730e0cbf.tar.gz clufter-667e5a41c36fea4c96bf5adff6188b05730e0cbf.tar.xz clufter-667e5a41c36fea4c96bf5adff6188b05730e0cbf.zip |
utils_prog: FancyOutput: allow for memoized prefix
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'utils_prog.py')
-rw-r--r-- | utils_prog.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/utils_prog.py b/utils_prog.py index b01884e..9a5473b 100644 --- a/utils_prog.py +++ b/utils_prog.py @@ -381,11 +381,13 @@ class FancyOutput(object): else '\033[' + spec) # TODO use /etc/terminal-colors.d/clufter.{enable,disable,scheme} - def __init__(self, f=stdout, recheck=False, color=None, quiet=False, **cfg): + def __init__(self, f=stdout, recheck=False, color=None, quiet=False, + prefix='', **cfg): if not isinstance(f, file): f = fdopen(f, "a") self._f = f self._quiet = quiet + self._prefix = prefix self._table = self.table.copy().update(cfg) if color is not None: recheck = False @@ -397,6 +399,11 @@ class FancyOutput(object): def __call__(self, s, **kwargs): if self._quiet and not kwargs.pop('urgent', False): return + if self._prefix: + prefix = self._prefix + if 'prefix_arg' in kwargs: + prefix = prefix.format(kwargs['prefix_arg']) + s = prefix + s self._handle(s, **kwargs) self._f.flush() |