lib/scripts/download_file
author nipkow
Wed, 11 Dec 2024 13:44:16 +0100
changeset 81676 1c2a68bb0ff1
parent 80213 d13b8ee54885
permissions -rw-r--r--
tuned slow proof

# -*- shell-script -*- :mode=shellscript:
#
# Bash function to download file via "curl".

function download_file ()
{
  [ "$#" -ne 2 ] && {
    echo "Bad arguments for download_file" >&2
    return 2
  }
  local REMOTE="$1"
  local LOCAL="$2"

  type -p curl > /dev/null || {
    echo "Require \"curl\" to download files" >&2
    return 2
  }

  echo "Getting \"$REMOTE\""
  mkdir -p "$(dirname "$LOCAL")"

  if curl --fail --silent --location "$REMOTE" > "${LOCAL}.part"
  then
    mv -f "${LOCAL}.part" "$LOCAL"
  else
    rm -f "${LOCAL}.part"
    echo "Failed to download \"$REMOTE\"" >&2
    return 2
  fi
}