From 06518d8eb375d68b0e25801e4eee63e2d3fa7aca Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 20 Sep 2025 13:51:51 +0200 Subject: [PATCH] feat: Resume failed downloads (#1410) --- src/mido.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mido.sh b/src/mido.sh index be21509..25aec22 100644 --- a/src/mido.sh +++ b/src/mido.sh @@ -569,7 +569,6 @@ downloadFile() { local msg="Downloading $desc" local rc total total_gb progress domain dots agent space folder - rm -f "$iso" agent=$(get_agent) if [ -n "$size" ] && [[ "$size" != "0" ]]; then @@ -600,7 +599,7 @@ downloadFile() { info "$msg..." [[ "$DEBUG" == [Yy1]* ]] && echo "Downloading: $url" - { wget "$url" -O "$iso" -q --timeout=30 --no-http-keep-alive --user-agent "$agent" --show-progress "$progress"; rc=$?; } || : + { wget "$url" -O "$iso" --continue -q --timeout=30 --no-http-keep-alive --user-agent "$agent" --show-progress "$progress"; rc=$?; } || : fKill "progress.sh" @@ -639,6 +638,8 @@ downloadImage() { base=$(basename "$iso") desc=$(fromFile "$base") + + rm -f "$iso" downloadFile "$iso" "$version" "" "" "" "$desc" && return 0 info "$msg" && html "$msg" && sleep "$delay" downloadFile "$iso" "$version" "" "" "" "$desc" && return 0 @@ -677,6 +678,8 @@ downloadImage() { if [[ "$success" == "y" ]]; then size=$(getMido "$version" "$lang" "size" ) sum=$(getMido "$version" "$lang" "sum") + + rm -f "$iso" downloadFile "$iso" "$MIDO_URL" "$sum" "$size" "$lang" "$desc" && return 0 info "$msg" && html "$msg" && sleep "$delay" downloadFile "$iso" "$MIDO_URL" "$sum" "$size" "$lang" "$desc" && return 0 @@ -704,6 +707,8 @@ downloadImage() { if [[ "$success" == "y" ]]; then ISO="${ISO%.*}.esd" + + rm -f "$ISO" downloadFile "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$lang" "$desc" && return 0 info "$msg" && html "$msg" && sleep "$delay" downloadFile "$ISO" "$ESD" "$ESD_SUM" "$ESD_SIZE" "$lang" "$desc" && return 0 @@ -718,12 +723,16 @@ downloadImage() { url=$(getLink "$i" "$version" "$lang") if [ -n "$url" ]; then + if [[ "$tried" != "n" ]]; then info "Failed to download $desc, will try another mirror now..." fi + tried="y" size=$(getSize "$i" "$version" "$lang") sum=$(getHash "$i" "$version" "$lang") + + rm -f "$iso" downloadFile "$iso" "$url" "$sum" "$size" "$lang" "$desc" && return 0 info "$msg" && html "$msg" && sleep "$delay" downloadFile "$iso" "$url" "$sum" "$size" "$lang" "$desc" && return 0