summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/repoman53
-rw-r--r--pym/portage/output.py52
2 files changed, 53 insertions, 52 deletions
diff --git a/bin/repoman b/bin/repoman
index 9c7fae637..1f80ed435 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -68,6 +68,7 @@ from portage.process import find_binary, spawn
from portage.util import initialize_logger
from portage.output import bold, create_color_func, darkgreen, \
green, nocolor, red, turquoise, yellow
+from portage.output import ConsoleStyleFile, StyleWriter
initialize_logger()
@@ -425,58 +426,6 @@ def get_commit_message_with_stdin():
commitmessage = "".join(commitmessage)
return commitmessage
-class ConsoleStyleFile(object):
- """
- A file-like object that behaves something like the
- portage.output.colorize() function. Style identifiers
- passed in via the new_styles() method will be used to
- apply console codes to output.
- """
- from portage.output import codes as _codes
- def __init__(self, f):
- self._file = f
- self._styles = None
- self.write_listener = None
-
- def new_styles(self, styles):
- self._styles = styles
-
- def write(self, s):
- if self._styles:
- for style in self._styles:
- self._file.write(self._codes[style])
- self._file.write(s)
- self._file.write(self._codes["reset"])
- else:
- self._file.write(s)
- if self.write_listener:
- self.write_listener.write(s)
-
- def writelines(self, lines):
- for s in lines:
- self.write(s)
-
- def flush(self):
- self._file.flush()
-
- def close(self):
- self._file.close()
-
-class StyleWriter(formatter.DumbWriter):
- """
- This is just a DumbWriter with a hook in the new_styles() method
- that passes a styles tuple as a single argument to a callable
- style_listener attribute.
- """
- def __init__(self, **kwargs):
- formatter.DumbWriter.__init__(self, **kwargs)
- self.style_listener = None
-
- def new_styles(self, styles):
- formatter.DumbWriter.new_styles(self, styles)
- if self.style_listener:
- self.style_listener(styles)
-
def format_qa_output(f, stats, fails, dofull, dofail):
full = options.mode in ("full", "lfull")
for x in qacats:
diff --git a/pym/portage/output.py b/pym/portage/output.py
index 9eae2ee87..148fddd0f 100644
--- a/pym/portage/output.py
+++ b/pym/portage/output.py
@@ -6,6 +6,7 @@ __docformat__ = "epytext"
import commands
import errno
+import formatter
import os
import re
import shlex
@@ -314,6 +315,57 @@ def create_color_func(color_key):
for c in compat_functions_colors:
globals()[c] = create_color_func(c)
+class ConsoleStyleFile(object):
+ """
+ A file-like object that behaves something like
+ the colorize() function. Style identifiers
+ passed in via the new_styles() method will be used to
+ apply console codes to output.
+ """
+ def __init__(self, f):
+ self._file = f
+ self._styles = None
+ self.write_listener = None
+
+ def new_styles(self, styles):
+ self._styles = styles
+
+ def write(self, s):
+ if self._styles:
+ for style in self._styles:
+ self._file.write(codes[style])
+ self._file.write(s)
+ self._file.write(codes["reset"])
+ else:
+ self._file.write(s)
+ if self.write_listener:
+ self.write_listener.write(s)
+
+ def writelines(self, lines):
+ for s in lines:
+ self.write(s)
+
+ def flush(self):
+ self._file.flush()
+
+ def close(self):
+ self._file.close()
+
+class StyleWriter(formatter.DumbWriter):
+ """
+ This is just a DumbWriter with a hook in the new_styles() method
+ that passes a styles tuple as a single argument to a callable
+ style_listener attribute.
+ """
+ def __init__(self, **kwargs):
+ formatter.DumbWriter.__init__(self, **kwargs)
+ self.style_listener = None
+
+ def new_styles(self, styles):
+ formatter.DumbWriter.new_styles(self, styles)
+ if self.style_listener:
+ self.style_listener(styles)
+
def get_term_size():
"""
Get the number of lines and columns of the tty that is connected to