mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Refactor aria2c and zsync support
If aria2 is installed, it will now be listed in the csv/json
This commit is contained in:
parent
5f26733687
commit
559e2ae886
1 changed files with 21 additions and 18 deletions
39
quickget
39
quickget
|
@ -89,6 +89,7 @@ function list_json() {
|
||||||
|
|
||||||
function list_csv() {
|
function list_csv() {
|
||||||
local DISPLAY_NAME
|
local DISPLAY_NAME
|
||||||
|
local DL=""
|
||||||
local DOWNLOADER
|
local DOWNLOADER
|
||||||
local FUNC
|
local FUNC
|
||||||
local OPTION
|
local OPTION
|
||||||
|
@ -96,16 +97,19 @@ function list_csv() {
|
||||||
local PNG
|
local PNG
|
||||||
local RELEASE
|
local RELEASE
|
||||||
local SVG
|
local SVG
|
||||||
local ZS=""
|
local HAS_ZSYNC=0
|
||||||
local DL=""
|
|
||||||
|
|
||||||
# check if we have a zsync installed somewhere
|
# Check if zsync is available
|
||||||
ZS="$(which zsync)"
|
if command -v zsync &>/dev/null; then
|
||||||
if [ -x "${ZS}" ]; then
|
HAS_ZSYNC=1
|
||||||
DL="zsync"
|
fi
|
||||||
else
|
|
||||||
|
if command -v aria2c &>/dev/null; then
|
||||||
|
DL="aria2c"
|
||||||
|
elif command -v wget &>/dev/null; then
|
||||||
DL="wget"
|
DL="wget"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Display Name,OS,Release,Option,Downloader,PNG,SVG"
|
echo "Display Name,OS,Release,Option,Downloader,PNG,SVG"
|
||||||
for OS in $(os_support); do
|
for OS in $(os_support); do
|
||||||
DISPLAY_NAME="$(pretty_name "${OS}")"
|
DISPLAY_NAME="$(pretty_name "${OS}")"
|
||||||
|
@ -120,12 +124,12 @@ function list_csv() {
|
||||||
for RELEASE in $("releases_${FUNC}"); do
|
for RELEASE in $("releases_${FUNC}"); do
|
||||||
if [ "${OS}" == "macos" ]; then
|
if [ "${OS}" == "macos" ]; then
|
||||||
DOWNLOADER="macrecovery"
|
DOWNLOADER="macrecovery"
|
||||||
elif [ "${OS}" == "ubuntu" ] && [ "${RELEASE}" == "canary" ]; then
|
elif [ "${OS}" == "ubuntu" ] && [ "${RELEASE}" == "canary" ] && [ ${HAS_ZSYNC} -eq 1 ]; then
|
||||||
DOWNLOADER="${DL}"
|
DOWNLOADER="zsync"
|
||||||
elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ]; then
|
elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ] && [ ${HAS_ZSYNC} -eq 1 ]; then
|
||||||
DOWNLOADER="${DL}"
|
DOWNLOADER="zsync"
|
||||||
else
|
else
|
||||||
DOWNLOADER="wget"
|
DOWNLOADER="${DL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${OS}" == "windows" ]; then
|
if [ "${OS}" == "windows" ]; then
|
||||||
|
@ -518,7 +522,7 @@ function web_get() {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if command -v aria2c > /dev/null; then
|
if command -v aria2c &>/dev/null; then
|
||||||
if ! aria2c -x16 --continue=true --summary-interval=0 --download-result=hide --console-log-level=error "${URL}" -o "${DIR}/${FILE}"; then
|
if ! aria2c -x16 --continue=true --summary-interval=0 --download-result=hide --console-log-level=error "${URL}" -o "${DIR}/${FILE}"; then
|
||||||
echo #Necessary as aria2c in suppressed mode does not have new lines
|
echo #Necessary as aria2c in suppressed mode does not have new lines
|
||||||
echo "ERROR! Failed to download ${URL} with aria2c. Try running 'quickget' again."
|
echo "ERROR! Failed to download ${URL} with aria2c. Try running 'quickget' again."
|
||||||
|
@ -538,12 +542,11 @@ function zsync_get() {
|
||||||
local FILE=""
|
local FILE=""
|
||||||
local OUT=""
|
local OUT=""
|
||||||
local URL="${1}"
|
local URL="${1}"
|
||||||
FILE="${URL##*/}"
|
|
||||||
local ZS=""
|
local ZS=""
|
||||||
|
|
||||||
# check if we have a zsync installed somewhere
|
FILE="${URL##*/}"
|
||||||
ZS="$(which zsync)"
|
|
||||||
if [ -x "${ZS}" ]; then
|
if command -v zsync &>/dev/null; then
|
||||||
if [ -n "${3}" ]; then
|
if [ -n "${3}" ]; then
|
||||||
OUT="${3}"
|
OUT="${3}"
|
||||||
else
|
else
|
||||||
|
@ -564,7 +567,7 @@ function zsync_get() {
|
||||||
rm "${DIR}/${OUT}.zs-old"
|
rm "${DIR}/${OUT}.zs-old"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "INFO: zsync not found, falling back to wget"
|
echo "INFO: zsync not found, falling back to wget/aria2c"
|
||||||
web_get "${ISO}" "${DIR}"
|
web_get "${ISO}" "${DIR}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue