summaryrefslogtreecommitdiffstats
path: root/utils_prog.py
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2015-12-08 20:16:58 +0100
committerJan Pokorný <jpokorny@redhat.com>2015-12-17 23:36:53 +0100
commit667e5a41c36fea4c96bf5adff6188b05730e0cbf (patch)
tree0ea8b7c79b1bf653c13ebe8dc60f9839e305593a /utils_prog.py
parentb5190366929abfbaf073e95d0264e5ee1e8c9334 (diff)
downloadclufter-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.py9
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()