portageq: add "colormap" helper
authorMike Frysinger <vapier@gentoo.org>
Sun, 11 Mar 2012 04:15:31 +0000 (23:15 -0500)
committerMike Frysinger <vapier@gentoo.org>
Sun, 11 Mar 2012 19:41:42 +0000 (15:41 -0400)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
bin/isolated-functions.sh
bin/portageq
pym/portage/output.py
pym/portage/package/ebuild/doebuild.py

index 9321ad59860b6d7c958d2280ef1cd59d6a3e44e7..98be41ec0dc48cd7187298dc2893e6110ccdb1ea 100644 (file)
@@ -431,8 +431,8 @@ set_colors() {
                BAD=$'\e[31;01m'
                HILITE=$'\e[36;01m'
                BRACKET=$'\e[34;01m'
+               NORMAL=$'\e[0m'
        fi
-       NORMAL=$'\e[0m'
 }
 
 RC_ENDCOL="yes"
index 5ecbb21ca1f18a0fa17f1a2919587d2189608a3f..fcdb9d9631b31982836b8288b855207173c6b668 100755 (executable)
@@ -44,6 +44,7 @@ del pym_path
 from portage import os
 from portage.eapi import eapi_has_repo_deps
 from portage.util import writemsg, writemsg_stdout
+from portage.output import colormap
 portage.proxy.lazyimport.lazyimport(globals(),
        'subprocess',
        '_emerge.Package:Package',
@@ -685,6 +686,13 @@ def distdir(argv):
        print(portage.settings["DISTDIR"])
 
 
+def colormap(argv):
+       """
+       Display the color.map as environment variables.
+       """
+       print(portage.output.colormap())
+
+
 def envvar(argv):
        """<variable>+
        Returns a specific environment variable as exists prior to ebuild.sh.
index 43d75036eec1bc6c0a8c0dbace1f031ec834273d..98bec814317b275c0b83748bc413c8ae4a69d64f 100644 (file)
@@ -325,6 +325,12 @@ def style_to_ansi_code(style):
                ret += codes.get(attr_name, attr_name)
        return ret
 
+def colormap():
+       mycolors = []
+       for c in ("GOOD", "WARN", "BAD", "HILITE", "BRACKET", "NORMAL"):
+               mycolors.append("%s=$'%s'" % (c, style_to_ansi_code(c)))
+       return "\n".join(mycolors)
+
 def colorize(color_key, text):
        global havecolor
        if havecolor:
index c45aa030aa7810661f65612a17a146ded9ace574..4ff3eeaf780f1b5cafa524815c2409ce83775837 100644 (file)
@@ -50,7 +50,7 @@ from portage.exception import DigestException, FileNotFound, \
        IncorrectParameter, InvalidDependString, PermissionDenied, \
        UnsupportedAPIException
 from portage.localization import _
-from portage.output import style_to_ansi_code
+from portage.output import colormap
 from portage.package.ebuild.prepare_build_dirs import prepare_build_dirs
 from portage.util import apply_recursive_permissions, \
        apply_secpass_permissions, noiselimit, normalize_path, \
@@ -300,11 +300,7 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None,
                mysettings["PORTAGE_CONFIGROOT"], EBUILD_SH_ENV_DIR)
 
        # Allow color.map to control colors associated with einfo, ewarn, etc...
-       mycolors = []
-       for c in ("GOOD", "WARN", "BAD", "HILITE", "BRACKET"):
-               mycolors.append("%s=$'%s'" % \
-                       (c, style_to_ansi_code(c)))
-       mysettings["PORTAGE_COLORMAP"] = "\n".join(mycolors)
+       mysettings["PORTAGE_COLORMAP"] = colormap()
 
        if "COLUMNS" not in mysettings:
                # Set COLUMNS, in order to prevent unnecessary stty calls