From b729c38fcb375ad6fc1c691eff023fc41ff0ebec Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Sat, 29 Oct 2022 23:14:14 +0200 Subject: [PATCH] Add check_utils helper Signed-off-by: Knut Ahlers --- bin/script_framework.sh | 54 +++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/bin/script_framework.sh b/bin/script_framework.sh index b2759a4..2c02d01 100644 --- a/bin/script_framework.sh +++ b/bin/script_framework.sh @@ -6,55 +6,61 @@ COLOR_PLAIN="\033[0m" COLOR_PURPLE="\033[35m" function check_util() { - command -v ${1} >/dev/null 2>&1 || fail "Missing ${1} util" + command -v ${1} >/dev/null 2>&1 || fail "Missing ${1} util" +} + +function check_utils() { + for util in "$@"; do + check_util "${util}" + done } function debug() { - log_level_matches 0 || return 0 - echo -e "${COLOR_PURPLE}$@${COLOR_PLAIN}" + log_level_matches 0 || return 0 + echo -e "${COLOR_PURPLE}$@${COLOR_PLAIN}" } function error() { - log_level_matches 3 || return 0 - echo -e "${COLOR_RED}$@${COLOR_PLAIN}" >&2 + log_level_matches 3 || return 0 + echo -e "${COLOR_RED}$@${COLOR_PLAIN}" >&2 } function fail() { - error "$@" - exit 1 + error "$@" + exit 1 } function fatal() { - fail "$@" + fail "$@" } function info() { - log_level_matches 1 || return 0 - echo -e "${COLOR_CYAN}$@${COLOR_PLAIN}" >&2 + log_level_matches 1 || return 0 + echo -e "${COLOR_CYAN}$@${COLOR_PLAIN}" >&2 } function log_level_matches() { - declare -A log_levels=( - [debug]=0 - [info]=1 - [warn]=2 - [warning]=2 - [error]=3 - ) - local fb_ll=${log_levels[${DEFAULT_LOG_LEVEL:-info}]} - [ ${log_levels[${LOG_LEVEL:-UNDEF}]:-${fb_ll}} -le ${1} ] && return 0 || return 1 + declare -A log_levels=( + [debug]=0 + [info]=1 + [warn]=2 + [warning]=2 + [error]=3 + ) + local fb_ll=${log_levels[${DEFAULT_LOG_LEVEL:-info}]} + [ ${log_levels[${LOG_LEVEL:-UNDEF}]:-${fb_ll}} -le ${1} ] && return 0 || return 1 } function step() { - info "[$(date +%H:%M:%S)] $(printf "%${script_level:-0}s" '' | tr ' ' '+')$@" + info "[$(date +%H:%M:%S)] $(printf "%${script_level:-0}s" '' | tr ' ' '+')$@" } function success() { - log_level_matches 1 || return 0 - echo -e "${COLOR_GREEN}$@${COLOR_PLAIN}" >&2 + log_level_matches 1 || return 0 + echo -e "${COLOR_GREEN}$@${COLOR_PLAIN}" >&2 } function warn() { - log_level_matches 2 || return 0 - echo -e "${COLOR_YELLOW}$@${COLOR_PLAIN}" >&2 + log_level_matches 2 || return 0 + echo -e "${COLOR_YELLOW}$@${COLOR_PLAIN}" >&2 }