summaryrefslogtreecommitdiff
path: root/scripts/functions
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/functions')
-rw-r--r--scripts/functions23
1 files changed, 21 insertions, 2 deletions
diff --git a/scripts/functions b/scripts/functions
index 8d31872..fbf86f3 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -348,12 +348,31 @@ CT_DoGetFileCurl() {
|| true
}
+# Download using aria2
+# Usage: CT_DoGetFileAria2 <URL>
+CT_DoGetFileAria2() {
+ # Note: comments about curl method (above) are also valid here
+ # Plus: default progress indicator is a single line, so use verbose log
+ # so that the CT-NG's ouput is 'live'.
+ CT_DoExecLog ALL aria2c -l - -s ${CT_DOWNLOAD_MAX_CHUNKS} -m 3 --retry-wait 5 -t ${CT_CONNECT_TIMEOUT} -p "$1" \
+ || CT_DoExecLog ALL aria2c -l - -s ${CT_DOWNLOAD_MAX_CHUNKS} -m 3 --retry-wait 5 -t ${CT_CONNECT_TIMEOUT} "$1" \
+ || true
+}
+
+# OK, just look if we have them...
+_aria2c=$(CT_Which aria2c)
_wget=$(CT_Which wget)
_curl=$(CT_Which curl)
-# Wrapper function to call one of curl or wget
+
+# Wrapper function to call one of, in order of preference:
+# aria2
+# curl
+# wget
# Usage: CT_DoGetFile <URL>
CT_DoGetFile() {
- if [ -n "${_curl}" ]; then
+ if [ -n "${_aria2c}" ]; then
+ CT_DoGetFileAria2 "$1"
+ elif [ -n "${_curl}" ]; then
CT_DoGetFileCurl "$1"
elif [ -n "${_wget}" ]; then
CT_DoGetFileWget "$1"