Add progress bar if requested (#121)

This commit is contained in:
Jon 2016-10-20 15:11:03 -04:00 committed by Henric Andersson
commit da8ff2f4bc

View file

@ -130,6 +130,8 @@ CRON=no
QUIET=no
ARCH=$(uname -m)
IGNOREAUTOUPDATE=no
SHOWPROGRESS=no
WGETOPTIONS="" # extra options for wget. Used for progress bar.
# Default options for package managers, override if needed
REDHAT_INSTALL="yum -y install"
@ -141,6 +143,7 @@ FILE_RAW=$(mktemp /tmp/plexupdate.raw.XXXX)
FILE_FAILCAUSE=$(mktemp /tmp/plexupdate.failcause.XXXX)
FILE_KAKA=$(mktemp /tmp/plexupdate.kaka.XXXX)
FILE_SHA=$(mktemp /tmp/plexupdate.sha.XXXX)
FILE_WGETLOG=$(mktemp /tmp/plexupdate.wget.XXXX)
# Current pages we need - Do not change unless Plex.tv changes again
URL_LOGIN=https://plex.tv/users/sign_in.json
@ -159,7 +162,7 @@ cronexit() {
}
usage() {
echo "Usage: $(basename $0) [-acdfFhlpqsuU] [<long options>]"
echo "Usage: $(basename $0) [-acdfFhlpPqsuU] [<long options>]"
echo ""
echo ""
echo " -a Auto install if download was successful (requires root)"
@ -171,6 +174,7 @@ usage() {
echo " -h This help"
echo " -l List available builds and distros"
echo " -p Public Plex Media Server version"
echo " -P Show progressbar when downloading big files"
echo " -q Quiet mode. No stdout, only stderr and cronexit codes"
echo " -r Print download URL and exit"
echo " -s Auto start (needed for some distros)"
@ -236,7 +240,7 @@ fi
# Parse commandline
ALLARGS=( "$@" )
optstring="acCdfFhlpqrSsuU -l config:,dldir:,email:,pass:,server:,saveconfig"
optstring="acCdfFhlpPqrSsuU -l config:,dldir:,email:,pass:,server:,saveconfig"
getopt -T >/dev/null
if [ $? -eq 4 ]; then
optstring="-o $optstring"
@ -259,6 +263,7 @@ do
(-F) FORCEALL_CL=yes;;
(-l) LISTOPTS=yes;;
(-p) PUBLIC_CL=yes;;
(-P) SHOWPROGRESS=yes;;
(-q) QUIET_CL=yes;;
(-r) PRINT_URL=yes;;
(-s) AUTOSTART_CL=yes;;
@ -380,6 +385,10 @@ if [ "${SAVECONFIG}" = "yes" ]; then
done
fi
if [ "${SHOWPROGRESS}" = "yes" ]; then
WGETOPTIONS="--show-progress"
fi
if [ "${IGNOREAUTOUPDATE}" = "yes" ]; then
AUTOUPDATE=no
fi
@ -526,6 +535,7 @@ function cleanup {
rm "${FILE_FAILCAUSE}" 2>/dev/null >/dev/null
rm "${FILE_KAKA}" 2>/dev/null >/dev/null
rm "${FILE_SHA}" 2>/dev/null >/dev/null
rm "${FILE_WGETLOG}" 2>/dev/null >/dev/null
}
trap cleanup EXIT
@ -687,8 +697,9 @@ fi
if [ "${SKIP_DOWNLOAD}" = "no" ]; then
infoLogNoNewline "Downloading release \"${FILENAME}\"..."
ERROR=$(wget --load-cookies "${FILE_KAKA}" --save-cookies "${FILE_KAKA}" --keep-session-cookies "${DOWNLOAD}" -O "${DOWNLOADDIR}/${FILENAME}" 2>&1)
wget ${WGETOPTIONS} -o "${FILE_WGETLOG}" --load-cookies "${FILE_KAKA}" --save-cookies "${FILE_KAKA}" --keep-session-cookies "${DOWNLOAD}" -O "${DOWNLOADDIR}/${FILENAME}" 2>&1
CODE=$?
ERROR=$(cat ${FILE_WGETLOG})
if [ ${CODE} -ne 0 ]; then
errorLog "!! Download failed with code ${CODE}, \"${ERROR}\""
cronexit ${CODE}