#!/bin/bash # libmsgmng.lib -- @package@ library to manage debug/warning/error messages # Copyright (C) 2005,2006,2008,2012 Davide Madrisan [ -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= }