mirror of
https://github.com/levogevo/add-synced-lyrics.git
synced 2026-07-21 21:45:21 +00:00
switch to dedicated echo_ functions
This commit is contained in:
+39
-20
@@ -20,29 +20,48 @@ jq_result_valid() {
|
||||
return 0
|
||||
}
|
||||
|
||||
stderr() { echo "$*" 1>&2; }
|
||||
info() { stderr "INFO [${FUNCNAME[1]}]: $*"; }
|
||||
error() { stderr "ERROR [${FUNCNAME[1]}]: $*"; }
|
||||
# ANSI colors
|
||||
readonly RED='\e[0;31m'
|
||||
readonly GREEN='\e[0;32m'
|
||||
readonly PURPLE='\e[0;35m'
|
||||
readonly YELLOW='\e[0;33m'
|
||||
readonly CYAN='\e[0;36m'
|
||||
readonly NC='\e[0m'
|
||||
|
||||
# only echo "$@" if ${DEBUG} is true
|
||||
stderr() {
|
||||
local word="${WORD:-}"
|
||||
local color="${COLOR:-}"
|
||||
local function="${FUNCNAME[2]}"
|
||||
if [[ "${function}" =~ void ]]; then
|
||||
function="${FUNCNAME[3]}"
|
||||
fi
|
||||
echo \
|
||||
-e \
|
||||
"${color}${word}${NC}" \
|
||||
"[${function}]" \
|
||||
"$@" 1>&2
|
||||
}
|
||||
echo_info() { WORD=INFO COLOR="${CYAN}" stderr "$@"; }
|
||||
echo_fail() { WORD=FAIL COLOR="${RED}" stderr "$@"; }
|
||||
echo_pass() { WORD=PASS COLOR="${GREEN}" stderr "$@"; }
|
||||
echo_dbug() { WORD=DBUG COLOR="${PURPLE}" stderr "$@"; }
|
||||
|
||||
# only perform the command given if ${DEBUG} is enabled
|
||||
debug() {
|
||||
if [[ ${DEBUG} == false ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
stderr "$@"
|
||||
"$@"
|
||||
}
|
||||
|
||||
# do not do anything
|
||||
# if ${DRY_RUN} is enabled
|
||||
# only perform the command given if ${DRY_RUN} is enabled
|
||||
void() {
|
||||
local cmd=("$@")
|
||||
if [[ ${DRY_RUN} == true ]]; then
|
||||
return 0
|
||||
else
|
||||
"${cmd[@]}"
|
||||
return $?
|
||||
fi
|
||||
|
||||
"$@"
|
||||
}
|
||||
|
||||
# print out "$@" formatted for bash
|
||||
@@ -80,7 +99,7 @@ check_required_utils() {
|
||||
local missing=false
|
||||
for util in "${utils[@]}"; do
|
||||
if ! have_cmd "${util}"; then
|
||||
error "missing ${util}!"
|
||||
echo_fail "missing ${util}!"
|
||||
missing=true
|
||||
fi
|
||||
done
|
||||
@@ -127,8 +146,8 @@ create_tmp_dir() {
|
||||
check_tmp_dir_empty() {
|
||||
for f in "${TMPDIR}"/*; do
|
||||
if [[ -f "${f}" ]]; then
|
||||
error "tempdir ${TMPDIR} is not empty!"
|
||||
error "aborting operation"
|
||||
echo_fail "tempdir ${TMPDIR} is not empty!"
|
||||
echo_fail "aborting operation"
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
@@ -157,7 +176,7 @@ librelyrics_dl() {
|
||||
done
|
||||
|
||||
if [[ ${librelyricsRet} -eq 0 && -z ${downloadedFile} ]]; then
|
||||
error "failed to download file for ${url} despite no librelyrics error"
|
||||
echo_fail "failed to download file for ${url} despite no librelyrics error"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -168,7 +187,7 @@ librelyrics_dl() {
|
||||
fi
|
||||
|
||||
if [[ ${librelyricsRet} -eq 0 && -z ${fileContents} ]]; then
|
||||
error "failed to read file for ${url} despite no librelyrics error"
|
||||
echo_fail "failed to read file for ${url} despite no librelyrics error"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -181,7 +200,7 @@ download_with_librelyrics() {
|
||||
local urlType="$3"
|
||||
|
||||
if [[ ! "${urlType}" =~ spotify|deezer ]]; then
|
||||
error "only spotify|deezer are supported"
|
||||
echo_fail "only spotify|deezer are supported"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -194,11 +213,11 @@ download_with_librelyrics() {
|
||||
"${url}")"
|
||||
|
||||
if [[ -z "${lyrics}" ]]; then
|
||||
error "could not get lyrics for ${isrc} using ${urlType}"
|
||||
debug echo_fail "could not find lyrics for ${isrc} using ${urlType}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
info "found lyrics for ${isrc} with ${urlType}"
|
||||
debug echo_info "found lyrics for ${isrc} with ${urlType}"
|
||||
echo "${lyrics}" >"${output}"
|
||||
}
|
||||
|
||||
@@ -228,7 +247,7 @@ get_file_isrc() {
|
||||
jqResult="$(jq -r "${jqFilter}" <<<"${probe}")"
|
||||
|
||||
if [[ "${jqResult}" == 'null' ]]; then
|
||||
error "failed to find ISRC for ${file}"
|
||||
echo_fail "could not find ISRC for ${file}"
|
||||
return 1
|
||||
fi
|
||||
echo "${jqResult}"
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
get_deezer_isrc_response() {
|
||||
local isrc="$1"
|
||||
if [[ -z "${isrc}" ]]; then
|
||||
error "missing isrc"
|
||||
echo_fail "missing isrc"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -20,7 +20,7 @@ get_deezer_isrc_response() {
|
||||
get_deezer_url() {
|
||||
local isrc="$1"
|
||||
if [[ -z "${isrc}" ]]; then
|
||||
error "missing isrc"
|
||||
echo_fail "missing isrc"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -31,7 +31,7 @@ get_deezer_url() {
|
||||
jqResult="$(jq -r .link <<<"${deezerResponse}")"
|
||||
|
||||
if ! jq_result_valid "${jqResult}"; then
|
||||
error "could not get link from deezer for ${isrc}"
|
||||
echo_fail "could not find link from deezer for ${isrc}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
+3
-3
@@ -19,11 +19,11 @@ get_lrclib_api_response() {
|
||||
IFS=' ' read -r env jqFilter <<<"${data}"
|
||||
jqResult="$(jq -r "${jqFilter}" <<<"${deezerResponse}")"
|
||||
if ! jq_result_valid "${jqResult}"; then
|
||||
error "could not determine lrclib ${env} for ${isrc}"
|
||||
echo_fail "could not determine lrclib ${env} for ${isrc}"
|
||||
return 1
|
||||
fi
|
||||
declare "${env}=${jqResult}"
|
||||
debug "${env}=${jqResult}"
|
||||
debug echo_debug "${env}=${jqResult}"
|
||||
done
|
||||
|
||||
# variables assigned above
|
||||
@@ -48,7 +48,7 @@ download_with_lrclib() {
|
||||
lrclibResponse="$(get_lrclib_api_response "${isrc}")"
|
||||
syncedLyrics="$(jq -r .syncedLyrics <<<"${lrclibResponse}")"
|
||||
if ! jq_result_valid "${syncedLyrics}"; then
|
||||
error "could not get lyrics for ${isrc}"
|
||||
debug echo_fail "could not find lyrics for ${isrc}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
get_spotify_url() {
|
||||
local isrc="$1"
|
||||
if [[ -z "${isrc}" ]]; then
|
||||
error "missing isrc"
|
||||
echo_fail "missing isrc"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -41,7 +41,7 @@ get_spotify_url() {
|
||||
|
||||
for tag in "${tags[@]}"; do
|
||||
declare -n spotifyTagValue="${tag}"
|
||||
debug "${tag}=${spotifyTagValue}"
|
||||
debug echo_debug "${tag}=${spotifyTagValue}"
|
||||
done
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
@@ -52,7 +52,7 @@ get_spotify_url() {
|
||||
done <<<"${jqOutput}"
|
||||
|
||||
if [[ "${foundMatching}" == false ]]; then
|
||||
error "could not find matching spotify track for ${isrc}"
|
||||
debug echo_fail "could not find matching spotify track for ${isrc}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user