Browse Source

improve progress bar

pull/4146/head
Daniel Gibbs 3 years ago
parent
commit
888535e99e
  1. 22
      lgsm/functions/core_dl.sh
  2. 34
      lgsm/functions/update_ut99.sh
  3. 23
      lgsm/functions/update_vintagestory.sh

22
lgsm/functions/core_dl.sh

@ -217,7 +217,7 @@ fn_dl_extract() {
if [ ! -f "${local_filedir}/${local_filename}" ]; then
fn_print_fail_eol_nl
echo -en "file ${local_filedir}/${local_filename} not found"
fn_script_log_fatal "extracting ${local_filename}"
fn_script_log_fatal "Extracting ${local_filename}"
fn_script_log_fatal "File ${local_filedir}/${local_filename} not found"
core_exit.sh
fi
@ -368,22 +368,21 @@ fn_fetch_file() {
trap fn_fetch_trap INT
# Larger files show a progress bar.
if [ "${local_filename##*.}" == "bz2" ] || [ "${local_filename##*.}" == "gz" ] || [ "${local_filename##*.}" == "zip" ] || [ "${local_filename##*.}" == "jar" ] || [ "${local_filename##*.}" == "xz" ]; then
echo -en "downloading ${local_filename}..."
echo -e "downloading ${local_filename}..."
fn_sleep_time
echo -en "\033[1K"
curlcmd=$(curl --connect-timeout 10 --progress-bar --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}")
local exitcode=$?
echo -en "downloading ${local_filename}..."
else
echo -en "fetching ${fileurl_name} ${local_filename}...\c"
curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}")
local exitcode=$?
echo -en "fetching ${fileurl_name} ${local_filename}...\c"
fi
# Download will fail if downloads a html file.
if [ -f "${local_filedir}/${local_filename}" ]; then
if [ -n "$(head "${local_filedir}/${local_filename}" | grep "DOCTYPE")" ]; then
rm -f "${local_filedir:?}/${local_filename:?}"
if head -n 1 "${local_filedir}/${local_filename}" | grep -q "DOCTYPE"; then
rm "${local_filedir:?}/${local_filename:?}"
local exitcode=2
fi
fi
@ -393,22 +392,21 @@ fn_fetch_file() {
if [ ${counter} -ge 2 ]; then
fn_print_fail_eol_nl
if [ -f "${lgsmlog}" ]; then
fn_script_log_fatal "Downloading ${local_filename}"
fn_script_log_fatal "Downloading ${local_filename}..."
fn_script_log_fatal "${fileurl}"
fi
core_exit.sh
else
fn_print_error_eol_nl
if [ -f "${lgsmlog}" ]; then
fn_script_log_error "Downloading ${local_filename}"
fn_script_log_error "Downloading ${local_filename}..."
fn_script_log_error "${fileurl}"
fi
fi
else
fn_print_ok_eol
echo -en "\033[2K\\r"
fn_print_ok_eol_nl
if [ -f "${lgsmlog}" ]; then
fn_script_log_pass "Downloading ${local_filename}"
fn_script_log_pass "Downloading ${local_filename}..."
fi
# Make file executable if chmodx is set.

34
lgsm/functions/update_ut99.sh

@ -10,7 +10,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_update_ut99_dl() {
fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "" "norun" "noforce" "nohash"
fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}"
echo "${remotebuild}" > "${serverfiles}/build.txt"
echo "${remotebuildversion}" > "${serverfiles}/build.txt"
}
fn_update_ut99_localbuild() {
@ -33,9 +33,9 @@ fn_update_ut99_remotebuild() {
# Get remote build info.
apiurl="https://api.github.com/repos/OldUnreal/UnrealTournamentPatches/releases/latest"
remotebuildresponse=$(curl -s "${apiurl}")
remotebuildfilename=$(echo -e "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .name')
remotebuildurl=$(echo -e "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .browser_download_url')
remotebuildversion=$(echo -e "${remotebuildresponse}" | jq -r '.tag_name')
remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .name')
remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[]|select(.browser_download_url | contains("Linux-amd64")) | .browser_download_url')
remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '.tag_name')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
# Checks if remotebuildversion variable has been set.
@ -59,17 +59,24 @@ fn_update_ut99_remotebuild() {
fn_update_ut99_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then
if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
echo -e "Update available"
echo -e "* Local build: ${red}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
echo -e "* Remote build: ${green}${remotebuildversion}${default}"
echo -en "\n"
fn_script_log_info "Update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
fn_script_log_info "${localbuild} > ${remotebuild}"
fn_script_log_info "Remote build: ${remotebuildversion}"
fn_script_log_info "${localbuild} > ${remotebuildversion}"
if [ -f "${rootdir}/.dev-debug" ]; then
echo -e "Remote build info"
echo -e "* apiurl: ${apiurl}"
echo -e "* remotebuildfilename: ${remotebuildfilename}"
echo -e "* remotebuildurl: ${remotebuildurl}"
echo -e "* remotebuildversion: ${remotebuildversion}"
fi
if [ "${commandname}" == "UPDATE" ]; then
unset updateonstart
@ -110,11 +117,18 @@ fn_update_ut99_compare() {
echo -en "\n"
echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
echo -e "* Remote build: ${green}${remotebuildversion}${default}"
echo -en "\n"
fn_script_log_info "No update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
fn_script_log_info "Remote build: ${remotebuildversion}"
if [ -f "${rootdir}/.dev-debug" ]; then
echo -e "Remote build info"
echo -e "* apiurl: ${apiurl}"
echo -e "* remotebuildfilename: ${remotebuildfilename}"
echo -e "* remotebuildurl: ${remotebuildurl}"
echo -e "* remotebuildversion: ${remotebuildversion}"
fi
fi
}

23
lgsm/functions/update_vintagestory.sh

@ -32,16 +32,17 @@ fn_update_vs_localbuild() {
}
fn_update_vs_remotebuild() {
# Get remote build info.
apiurl="http://api.vintagestory.at/stable-unstable.json"
remotebuildresponse=$(curl -s "${apiurl}")
if [ "${branch}" == "stable" ]; then
remotebuildversion=$(echo -e "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -Ev "\-rc|\-pre" | sort -r -V | head -1)
remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -Ev "\-rc|\-pre" | sort -r -V | head -1)
else
remotebuildversion=$(echo -e "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -E "\-rc|\-pre" | sort -r -V | head -1)
remotebuildversion=$(echo "${remotebuildresponse}" | jq -r '[ to_entries[] ] | .[].key' | grep -E "\-rc|\-pre" | sort -r -V | head -1)
fi
remotebuildfilename=$(echo -e "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.filename')
remotebuildurl=$(echo -e "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.filename')
remotebuildmd5=$(echo -e "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.filename')
remotebuildfilename=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.filename')
remotebuildurl=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.urls.cdn')
remotebuildmd5=$(echo "${remotebuildresponse}" | jq --arg remotebuildversion "${remotebuildversion}" -r '.[$remotebuildversion].server.md5')
if [ "${firstcommandname}" != "INSTALL" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
@ -66,20 +67,20 @@ fn_update_vs_remotebuild() {
fn_update_vs_compare() {
fn_print_dots "Checking for update: ${remotelocation}"
if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then
if [ "${localbuild}" != "${remotebuildversion}" ] || [ "${forceupdate}" == "1" ]; then
fn_print_ok_nl "Checking for update: ${remotelocation}"
echo -en "\n"
echo -e "Update available"
echo -e "* Local build: ${red}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
echo -e "* Remote build: ${green}${remotebuildversion}${default}"
if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
echo -en "\n"
fn_script_log_info "Update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
fn_script_log_info "${localbuild} > ${remotebuild}"
fn_script_log_info "Remote build: ${remotebuildversion}"
fn_script_log_info "${localbuild} > ${remotebuildversion}"
if [ "${commandname}" == "UPDATE" ]; then
unset updateonstart
@ -121,14 +122,14 @@ fn_update_vs_compare() {
echo -en "\n"
echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
echo -e "* Remote build: ${green}${remotebuildversion}${default}"
if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
echo -en "\n"
fn_script_log_info "No update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
fn_script_log_info "Remote build: ${remotebuildversion}"
if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi

Loading…
Cancel
Save