e8b9a33167
Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
78 lines
2.0 KiB
Bash
78 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# libmsgmng.lib -- @package@ library to manage debug/warning/error messages
|
|
# Copyright (C) 2005,2006,2008,2012 Davide Madrisan <davide.madrisan@gmail.com>
|
|
|
|
[ "$libmsgmng_is_loaded" = 1 ] || {
|
|
libmsgmng_is_loaded=1
|
|
|
|
[ -z "$BASH" ] || [ ${BASH_VERSION:0:1} -lt 2 ] &&
|
|
echo $"this script requires bash version 2 or better" >&2 && exit 1
|
|
|
|
if [[ -z "$LANG" && -r /etc/sysconfig/i18n ]]; then
|
|
. /etc/sysconfig/i18n
|
|
[ "$LANG" ] && export LANG
|
|
fi
|
|
TEXTDOMAIN="libmsgmng"; export TEXTDOMAIN
|
|
|
|
# notify family of message handling functions:
|
|
# - notify.warning
|
|
# - notify.error
|
|
# - notify.debug
|
|
# - notify.note
|
|
# args:
|
|
# $1 : message to print
|
|
# note:
|
|
# 1. debug messages are only printed if 'verbose' is great then '0'
|
|
# 2. error notifications are followed by a call to 'EXIT_FUNC'
|
|
# or 'exit' if this variable is unset
|
|
# (can set to 'return' for instance)
|
|
|
|
notify_def_msg="<"$"no message"">"
|
|
|
|
function notify.warning() {
|
|
echo -e "${WARN}WARNING${NORM}: ${1:-$notify_def_msg}" 1>&2
|
|
}
|
|
|
|
function notify.error() {
|
|
echo -e "${EXIT}ERROR${NORM}: ${EXIT}${1:-$notify_def_msg}${NORM}" 1>&2
|
|
${EXIT_FUNC:-"exit"} 1
|
|
}
|
|
|
|
function notify.debug() {
|
|
[ ${verbose:-0} -gt 1 ] || return
|
|
echo -e "${WARN}DEBUG${NORM}: ${1:-$notify_def_msg}" 1>&2
|
|
}
|
|
|
|
function notify.note() {
|
|
[ ${verbose:-0} -ge 0 ] || return
|
|
echo -e "${1:-$notify_def_msg}"
|
|
}
|
|
|
|
# function notify.enable_colors
|
|
# enable if possible the colorized output
|
|
# args:
|
|
# none
|
|
function notify.enable_colors() {
|
|
local colorize_theme="$1"
|
|
# for backward compatibility
|
|
[ "$colorize_theme" ] || colorize_theme="terminal-dark"
|
|
|
|
if [ -r /etc/@package@.d/color-theme.${colorize_theme} ]; then
|
|
. /etc/@package@.d/color-theme.${colorize_theme}
|
|
else
|
|
notify.warning \
|
|
$"unknown color theme \`$colorize_theme': colors will be disabled"
|
|
ESC= CRIT= NOTE= WARN= EXIT= NORM=
|
|
fi
|
|
}
|
|
|
|
# function notify.disable_colors
|
|
# disable the colorized output
|
|
# args:
|
|
# none
|
|
function notify.disable_colors() {
|
|
ESC= CRIT= NOTE= WARN= EXIT= NORM=
|
|
}
|
|
|
|
} # endif $libmsgmng_is_loaded
|