lib/scripts/download_file
author wenzelm
Wed, 29 May 2024 16:16:29 +0200
changeset 80213 d13b8ee54885
parent 77053 c839b84ee66f
permissions -rw-r--r--
obsolete: macOS 10.x is no longer supported (see also 059743bc8311);

# -*- 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
}