diff --git a/src/beesh.sh.in b/src/beesh.sh.in index d02faa4..8a23688 100644 --- a/src/beesh.sh.in +++ b/src/beesh.sh.in @@ -274,27 +274,22 @@ function fetch_one_file() { nocheck="" fi - if [ ! -s "${F}/${file}" ] ; then - rm -vf "${F}/${file}" - fi - - trap "rm -f ${F}/${file}" EXIT - - print_info "fetching $url" - wget \ - --output-document="${F}/${file}" \ - --no-clobber \ - --timeout=60 \ - --tries=1 \ - "${url}" || true - - trap - EXIT - - ls -ld "${F}/${file}" - - if [ ! -s "${F}/${file}" ] ; then - print_error "ERROR: ${F}/${file} is empty, download failed." - exit 1 + if [ -s "${F}/${file}" ]; then + print_info "File ‘${F}/${file}‘ already there; not retrieving." + else + print_info "fetching $url" + wget \ + --output-document="${F}/${file}.tmp" \ + --timeout=60 \ + --tries=1 \ + "${url}" + ls -ld "${F}/${file}.tmp" + if [ ! -s "${F}/${file}.tmp" ] ; then + print_error "ERROR: ${F}/${file}.tmp is empty, download failed." + rm "${F}/${file}.tmp" + exit 1 + fi + mv "${F}/${file}.tmp" "${F}/${file}" fi fi