From 466ea463005845f1fcc3760407ad2a4d9f75393b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 17 Jun 2008 03:31:43 +0000 Subject: [PATCH] Add support for an new "eblank" elog function that shows a blank line. Consecutive eblank calls are all collapsed into a single blank line. Thanks to Joe Peterson for this patch. svn path=/main/trunk/; revision=10675 --- bin/isolated-functions.sh | 18 +++++++++++++++++- pym/portage/__init__.py | 2 +- pym/portage/output.py | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index 42f3d5ac7..dd157129d 100755 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -161,7 +161,7 @@ elog_base() { local messagetype [ -z "${1}" -o -z "${T}" -o ! -d "${T}/logging" ] && return 1 case "${1}" in - INFO|WARN|ERROR|LOG|QA) + BLANK|INFO|WARN|ERROR|LOG|QA) messagetype="${1}" shift ;; @@ -174,15 +174,28 @@ elog_base() { return 0 } +eblank() { + [[ ${LAST_E_CMD} == "eblank" ]] && return 0 + elog_base BLANK + [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo + echo -e " ${NEUTRAL}*${NORMAL}" + LAST_E_CMD="eblank" + return 0 +} + eqawarn() { elog_base QA "$*" + [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo vecho -e " ${WARN}*${NORMAL} $*" >&2 + LAST_E_CMD="eqawarn" return 0 } elog() { elog_base LOG "$*" + [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo echo -e " ${GOOD}*${NORMAL} $*" + LAST_E_CMD="elog" return 0 } @@ -281,6 +294,7 @@ eend() { _eend ${retval} eerror "$*" + LAST_E_CMD="eend" return ${retval} } @@ -339,6 +353,7 @@ unset_colors() { COLS="25 80" ENDCOL= + NEUTRAL= GOOD= WARN= BAD= @@ -361,6 +376,7 @@ set_colors() { if [ -n "${PORTAGE_COLORMAP}" ] ; then eval ${PORTAGE_COLORMAP} else + NEUTRAL=$'\e[37m' GOOD=$'\e[32;01m' WARN=$'\e[33;01m' BAD=$'\e[31;01m' diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 6b35f1791..45d27aede 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -4452,7 +4452,7 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m # Allow color.map to control colors associated with einfo, ewarn, etc... mycolors = [] - for c in ("GOOD", "WARN", "BAD", "HILITE", "BRACKET"): + for c in ("NEUTRAL", "GOOD", "WARN", "BAD", "HILITE", "BRACKET"): mycolors.append("%s=$'%s'" % (c, portage.output.codes[c])) mysettings["PORTAGE_COLORMAP"] = "\n".join(mycolors) diff --git a/pym/portage/output.py b/pym/portage/output.py index a7a500cd4..3c6533106 100644 --- a/pym/portage/output.py +++ b/pym/portage/output.py @@ -138,6 +138,7 @@ codes["bg_darkyellow"] = codes["bg_brown"] # Colors from /etc/init.d/functions.sh codes["NORMAL"] = esc_seq + "0m" +codes["NEUTRAL"] = codes["lightgray"] codes["GOOD"] = codes["green"] codes["WARN"] = codes["yellow"] codes["BAD"] = codes["red"] -- 2.26.2